- Stirling PDFは、文書を外部サービスに送信せずにPDFの編集・署名・墨消し・変換・自動化を行えるオープンソースのPDF編集プラットフォーム
- 個人向けデスクトップアプリ、ブラウザUI、セルフホストのサーバーデプロイ、private APIをサポートしており、作業環境に合わせて実行可能
- 50種類以上のPDFツールを提供し、結合・分割・OCR・圧縮といった機能に加え、UIベースのノーコードパイプラインやAPI自動化も含む
- エンタープライズ向けにSSO、監査、オンプレミス展開を提供し、ほとんどのツールにREST APIがあるため既存システムと統合可能
- クイックスタートはDockerで
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdfを実行した後、http://localhost:8080を開く方式
Stirling PDFが提供するもの
- Stirling PDFは、オープンソースのPDF編集プラットフォームで、個人向けデスクトップアプリ・ブラウザUI・セルフホストサーバーで実行可能
- セルフホストサーバーとしてデプロイした場合はprivate APIを利用でき、文書を外部サービスに送信せずにPDF処理を行える
- 主な作業は、編集、署名、墨消し、変換、自動化
主な機能範囲
- 50種類以上のPDFツールを提供
- 編集
- 結合
- 分割
- 署名
- 墨消し
- 変換
- OCR
- 圧縮
- 自動化とワークフローをサポート
- UIでノーコードパイプラインを作成可能
- APIで数百万件のPDFを処理可能
- 開発者プラットフォームとしての性格も持つ
- ほぼすべてのツールでREST APIを提供
- 既存システムに統合可能
- UIは40以上の言語で提供
- 全機能一覧はDocumentationで確認可能
デプロイと実行方法
- 対応する実行環境はデスクトップクライアント、ブラウザUI、セルフホストサーバー
- クイックスタートはDockerコマンドで可能
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
エンタープライズと運用機能
開発・貢献・サポート
- 主なリソース
- サポートチャネル
- 貢献ガイドは
CONTRIBUTING.mdに従う
- ビルド・開発・テストコマンドでは、統合コマンドランナーとしてTaskを使用
task devでエディタ実行を開始
taskでよく使うコマンドを確認
- 全内容は
DeveloperGuide.mdにある
- 翻訳の追加は
devGuide/HowToAddNewLanguage.mdを参照
- ライセンスはopen-coreで、詳細は
LICENSEにある
1件のコメント
Hacker News のコメント
PDF エコシステムで本当に不足しているのは、署名関連のオープンソースツールだと思う
PDF 署名は eIDAS のような規制のため世界各地で法的に重要だが、Adobe や怪しげなプロプライエタリツール以外で PDF 文書に暗号学的に署名するのはあまりに難しい。LibreOffice や poppler で署名する方法を見つけたとしても、大金を払わずに検証可能な証明書を得るのが難しい
誰かが PDF と S/MIME 証明書における Let's Encrypt のような役割を果たしてくれれば、公的な信頼は大きく向上しそう
PDF とデジタル署名、PDF 署名まで扱う優れたオープンソースライブラリ: https://github.com/MatthiasValvekens/pyHanko
European Commission の DSS Tool も有用。PDF を1つ提出すればよく、原本と署名済みの両方を入れる必要はない: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo...
会社は https://www.zealid.com/en/ で、https://my.zealid.com/en から無料でリモートオンボーディング後、適格証明書の取得とアップロード、QES 署名、PDF ダウンロードまで無料でできる。API 連携も可能
これを自宅でホスティングしている。自分では直接使わず、基盤になっている Linux CLI ツールを使えばいい
ただ、妻が PDF の変換や分割を適当なウェブサイトやアプリにアップロードして行うより、これで処理するほうがよいと思う。どうせそういうサイトも同じコマンドラインツールを使っていることが多い
妻もどちらでもあまり気にしていないし、ユースケースには十分合っているようだ
PDFBox は Java アプリケーションなので、Linux だけでなくクロスプラットフォームで動作するはず。別のものを指しているなら教えてほしい
README に「Stirling PDF は記録保存や追跡目的で外部呼び出しを開始しない」と書いてあるので、それで結論は出たようだ
最初は昨年、ChatGPT 3.0 がどんなものか試すため、制限時間内に ChatGPT でアプリ全体を作る24時間チャレンジとして始めました
Reddit に投稿したところ需要が大きかったので、アプリ全体へと発展させました。完全に ChatGPT だけを使ったのは最初の24時間だけです。今では1年以上経っています
README に「IntelliSense を使って開発」とは書かないでしょう
なので自分の基準では有用性が大きく下がる
この機能が Paperless に統合されるといい。たまにスキャンした文書が上下逆に入ってしまい、再スキャンしなければならない
回転ボタンを押し、必要なら順序を変えてから再処理できるようになるといい
出典: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
Firefox の比較的最近のアップデートで PDF エディターが追加された
Firefox に対する認識が数バージョン前のまま止まっている人が多いように思う。歴史を通じて毎日使ってきた立場からすると、Firefox はここ数年でかなり進化したと思う
しばらく使っていないなら、もう一度試してみる価値はある
README の “Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes” という文を見て、潜在的なユーザーがコード監査以外に事前に検証する方法があるのか気になった
特に、アプリが動作するには一部の Web リクエストは必要だが、たとえば Content-Security-Policy のようなマニフェストに書かれた限定的な URL リストに対してだけリクエストすべき場合、Web ベースのアプリはこうした主張をどう裏付けられるのだろうか?
ユーザーが機密性の高いコンテンツを「アップロード」しなければならないアプリをデプロイする際には、かなり具体的な問題だ
https://www.obdev.at/products/littlesnitch/index.html
Little Snitch は macOS 中心のツールだ。他にもあるだろうが、詳しくは知らない。こういうものは OS レベルの機能であるべきだと感じる
HTTP プロキシ経由でアプリへのアクセスを提供し、Web アプリの外部リクエストをフィルタリングするか、そもそもそのアプリをホスティングするサーバーのネットワークルーティングを設定しないこともできる。そうすると残るのは、レンダリングされたページ内で JavaScript が開始するリクエストだけだ
オープンソースはかなりのレベルの信頼の上で成り立っており、私たちは皆その構造に参加している
似たように説明できる製品に取り組んでいる
CxReports: 自分でホスティングする Web ベースの PDF レポートツール
https://www.cx-reports.com
数か月前にこのプロジェクトを見たとき、すぐに気に入った。インストールして実際に使い始めたが、バグが多く、一部のツールは使い物にならないほどだった
今は良くなっていることを願う
スキャンしたテキストフォームが入った PDF ファイルのコントラストを上げるために、これを使ったことがある。スキャンがほとんど見えなかったので、基本的には暗い部分をさらに暗くし、できれば少し太くして見やすくする程度のことが必要だった
そんな些細に見える作業でも、ツールはきちんと助けてくれず、改善幅はごくわずかだった。何度も繰り返してみたが、2回目以降は見た目の違いはもうなく、ファイルサイズだけが変わり続けた
画像を抽出してから GIMP や ImageMagick でコントラストを上げ、新しい PDF を作ればよい。ファイルが多いならスクリプトで処理することもできる
一覧を見ているところだが、PDF からテキストを抽出する APIがあるか探している
あるいは、ベクターや埋め込みの形で取得できるのかも気になっている