🐇

pdfme 開発者レター 2025年3月

に公開

まとめ

今月は ライブラリ側の修正はほとんど自分では時間をかけられませんでした。が!

その代わりに

  • pdfmeのクラウドWebAPI版(https://app.pdfme.com/) で
    • PDFツール系(PDF変換・PDF編集) のAPIエンドポイントを追加した (内部では https://gotenberg.dev/ を使っています)
  • 国産のPDFツール(https://pdfmaker.jp/) の立ち上げ
    • 上記の PDFツール系APIをコールしています。

の開発を行っていました。

来月はそれらを発展させて pdfme MCPサーバーの開発を行いたいと考えています!
これまで pdfme で開発してきた機能をまとめて AIツールで利用可能にするという構想です。

面白い点としてpdfme MCPサーバーは pdfme自体 がJSで動いており スタンドアロンのMCPサーバーとして提供できます。
つまりサーバーコストがかからないため無料で提供できる点です。もちろんOSSとしてソースコードも公開予定です。便利なツールになると思うので公開されたら是非使って欲しいです。

https://x.com/labelmake/status/1902571106357408155

今月やったこと

今月もコントリビューター、 Cline, Devinさんなど自分以外にも助けられながら結構たくさん実装することができていました!ありがとうございます!

特に、「図形スキーマの機能強化」についてはClineで実装しマージすることができました。作業を録画し、Youtubeにも動画をあげておりますのでどうやって実装したか気になる方は見てみてください!

https://youtu.be/rh8m6nAB8Yk?si=QA9MNJ3BD3wmMpUX

  1. 共通定数のエクスポート追加

    • BLANK_A4_PDFとCUSTOM_A4_PDF定数をcommonパッケージからエクスポートするように修正しました(PR #903)。
  2. 図形スキーマの機能強化

    • 長方形スキーマに角丸(radius)プロパティを追加し、関連する翻訳を更新しました(PR #882)。
  3. フォント設定の改善

    • プレイグラウンドのフォント設定にNotoSerifJPとNotoSansJPを復元しました(PR #854)。
  4. エラー追跡とモニタリングの強化

    • Sentryを統合してエラー追跡機能を追加しました(PR #853)。
  5. 国際化対応の拡充

    • Docusaurusウェブサイトに日本語(ja)i18nサポートを追加しました(PR #852)。
  6. コンポーネントの改善と新機能

    • Viewerコンポーネントに非推奨JSDocと初期化警告を追加しました(PR #849)。
    • 請求書テンプレートをベースにした見積書テンプレートを追加しました(PR #848)。
    • pnpm互換性を修正するためにfile:参照をワイルドカード(*)に置き換えました(PR #846)。
  7. コンバーターの機能強化

    • img2pdf関数にサイズとマージンオプションを追加しました(PR #823)。
    • converter.mdドキュメントを更新してimg2pdfのサイズとマージンオプションを反映しました(PR #824)。
  8. バーコード機能の拡張

    • スキーマとドキュメントにPDF417バーコードタイプのサポートを追加しました(PR #822)。
  9. コード品質と型安全性の向上

    • CIにエラーでのみ失敗し警告では失敗しないlintチェックを追加しました(PR #820)。
    • 動的テンプレートの型定義をリファクタリングし型安全性を向上させました(PR #816)。
    • TypeScriptの型互換性の問題を修正しました(PR #813)。
    • 各パッケージの簡単に解決できるlintエラーを修正しました(PR #811PR #808PR #807PR #805PR #804)。
    • TypeScriptをバージョン5.8.2に更新しました(PR #802)。
    • generatorパッケージから未使用のatob依存関係を削除しました(PR #801)。
  10. ドキュメントの改善

    • コミュニティ貢献セクションと軽量QRコードプラグインに関するドキュメントを追加しました(PR #815)。
    • Cline Memory BankとClinerules英語版を追加しました(PR #817)。
  11. 依存関係の更新

    • 多数のライブラリとパッケージの依存関係を最新バージョンに更新しました(lucide、react、vite、eslint、TypeScriptなど)。

来月やること

  • pdfme MCPサーバーの開発
    • https://pdfmaker.jp/ という新しいサービスも開発しております。そのコードを流用してPDFツールのMCPサーバーを開発予定です。AIチャット経由でPDFの結合や分割、圧縮、ドキュメントの作成などができるようにしたいと考えております。
    • 例えば複数のドキュメントをまとめておいて、とか請求書作っておいてなどが自然言語でできるようなものです。OSSで公開し、サーバー不要でローカルで動きます。なので無料でご利用いただけるように。と考えております。
  • Add repeatHead option for table with dynamic data #629
    • ユーザーからの要望も多く、自分も欲しいので早めに実装したいと思っています。

プロモーションコード

pdfmeでは各種AIをかなり活用して開発を進めています。
月並みですが、Devinのリファラルキャンペーンです。下記リンクから契約すると 最大+100ACUs ($200相当) が付与されるので、もし興味があればぜひどうぞ。

https://app.devin.ai/invite/KyOTXVPrlFl2TjcT

AI開発の知見もこれから継続的にお話ししたいななと思っています。
よかったら XもフォローしておいてもらえるとXは確実にお知らせするので興味あればぜひ。

では、よきOSSライフを!

Discussion