2 ポイント 投稿者 GN⁺ 2024-05-04 | 1件のコメント | WhatsAppで共有
  • 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

エンタープライズと運用機能

  • エンタープライズ向け機能としてSSO、監査、柔軟なオンプレミス展開を提供
  • Server PlanおよびEnterpriseに関する情報はServer Plan & Enterpriseにある

開発・貢献・サポート

  • 主なリソース
  • サポートチャネル
  • 貢献ガイドはCONTRIBUTING.mdに従う
  • ビルド・開発・テストコマンドでは、統合コマンドランナーとしてTaskを使用
    • task devでエディタ実行を開始
    • taskでよく使うコマンドを確認
    • 全内容はDeveloperGuide.mdにある
  • 翻訳の追加はdevGuide/HowToAddNewLanguage.mdを参照
  • ライセンスはopen-coreで、詳細はLICENSEにある

1件のコメント

 
GN⁺ 2024-05-04
Hacker News のコメント
  • PDF エコシステムで本当に不足しているのは、署名関連のオープンソースツールだと思う
    PDF 署名は eIDAS のような規制のため世界各地で法的に重要だが、Adobe や怪しげなプロプライエタリツール以外で PDF 文書に暗号学的に署名するのはあまりに難しい。LibreOffice や poppler で署名する方法を見つけたとしても、大金を払わずに検証可能な証明書を得るのが難しい
    誰かが PDF と S/MIME 証明書における Let's Encrypt のような役割を果たしてくれれば、公的な信頼は大きく向上しそう

    • 検証可能な証明書が必要だと言うけれど、macOS Preview で署名画像を貼り付けるだけでも、意外とかなり通用する
    • 完全に同意。eIDAS の用語で TRA かつ QTSP である会社で、関連するものを作っている
      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 連携も可能
    • 本当にその通り。Windows Server に詳しい社内 IT 担当者に、社内文書署名のための基本的な PKI 実装にどれくらいかかるか聞いたら、頭が2つある人を見るような表情をされた
    • macOS Preview ではこの要件を満たせないのか?
  • これを自宅でホスティングしている。自分では直接使わず、基盤になっている Linux CLI ツールを使えばいい
    ただ、妻が PDF の変換や分割を適当なウェブサイトやアプリにアップロードして行うより、これで処理するほうがよいと思う。どうせそういうサイトも同じコマンドラインツールを使っていることが多い
    妻もどちらでもあまり気にしていないし、ユースケースには十分合っているようだ

    • 基盤になっている Linux CLI ツールの部分が気になる。自分が見つけたのはこちら: https://pdfbox.apache.org/2.0/commandline.html
      PDFBox は Java アプリケーションなので、Linux だけでなくクロスプラットフォームで動作するはず。別のものを指しているなら教えてほしい
    • 普通に買い切りライセンスの PDF ツールを70ドルで買うほうがいい。本当に値段分の価値がある。ポータブル exe 版も一緒に手に入れるとよい
  • README に「Stirling PDF は記録保存や追跡目的で外部呼び出しを開始しない」と書いてあるので、それで結論は出たようだ

    • 作者です。ドキュメントに少し混乱があるようです。完全に ChatGPT で作ったわけではありません
      最初は昨年、ChatGPT 3.0 がどんなものか試すため、制限時間内に ChatGPT でアプリ全体を作る24時間チャレンジとして始めました
      Reddit に投稿したところ需要が大きかったので、アプリ全体へと発展させました。完全に ChatGPT だけを使ったのは最初の24時間だけです。今では1年以上経っています
    • その文が何を意味するのか気になる。HN に引っかかるように入れたのか? データと少しでも関係のある製品やサービスが、急にランディングページのどこかに「ところで AI もやります」と付けるのに似て見える
      README に「IntelliSense を使って開発」とは書かないでしょう
    • 私にとっては2つの意味がある。公開インターネットに露出させるな、そして信頼できない入力を入れるな
      なので自分の基準では有用性が大きく下がる
    • 驚いた。本当にすごい時代に生きている
    • では、これは信頼してもいいのか?
  • この機能が Paperless に統合されるといい。たまにスキャンした文書が上下逆に入ってしまい、再スキャンしなければならない
    回転ボタンを押し、必要なら順序を変えてから再処理できるようになるといい

    • paperless-ngx の前回のマイナーリリースで結合、分割、回転が追加された
      出典: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
    • 最新の paperless-ngx は文書の回転に対応している。確認してみるといい
    • ああ。PDF リーダーで文書を回転してから、PDF として印刷すればいい
  • 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 ベースのアプリはこうした主張をどう裏付けられるのだろうか?
    ユーザーが機密性の高いコンテンツを「アップロード」しなければならないアプリをデプロイする際には、かなり具体的な問題だ

    • 自分でホスティングするなら Little Snitch が役に立つかもしれない。自分でホスティングしないなら保証はできず、基本姿勢は「最悪を想定せよ」になる
      https://www.obdev.at/products/littlesnitch/index.html
      Little Snitch は macOS 中心のツールだ。他にもあるだろうが、詳しくは知らない。こういうものは OS レベルの機能であるべきだと感じる
    • Kubernetes で自分でホスティングするなら、そのデプロイメントや Pod に対して deny-all egress のネットワークポリシーを設定できる。そうすれば外部へのネットワーク呼び出しはすべて遮断される
    • Web アプリが動作するために外部 Web リクエストを行う必要はない。Web とやり取りするユーザーの側がリクエストを開始する
      HTTP プロキシ経由でアプリへのアクセスを提供し、Web アプリの外部リクエストをフィルタリングするか、そもそもそのアプリをホスティングするサーバーのネットワークルーティングを設定しないこともできる。そうすると残るのは、レンダリングされたページ内で JavaScript が開始するリクエストだけだ
    • 結局、これは使っているほぼすべてのパッケージ、ライブラリ、システムに存在する問題だ
      オープンソースはかなりのレベルの信頼の上で成り立っており、私たちは皆その構造に参加している
    • 間に Wireshark のようなスニファやネットワークキャプチャツールを置けばよい。加えて、アプリのネットワークアクセスをローカルのホームネットワークだけに完全に制限することもできる
  • 似たように説明できる製品に取り組んでいる
    CxReports: 自分でホスティングする Web ベースの PDF レポートツール
    https://www.cx-reports.com

  • 数か月前にこのプロジェクトを見たとき、すぐに気に入った。インストールして実際に使い始めたが、バグが多く、一部のツールは使い物にならないほどだった
    今は良くなっていることを願う

  • スキャンしたテキストフォームが入った PDF ファイルのコントラストを上げるために、これを使ったことがある。スキャンがほとんど見えなかったので、基本的には暗い部分をさらに暗くし、できれば少し太くして見やすくする程度のことが必要だった
    そんな些細に見える作業でも、ツールはきちんと助けてくれず、改善幅はごくわずかだった。何度も繰り返してみたが、2回目以降は見た目の違いはもうなく、ファイルサイズだけが変わり続けた

    • それは実のところ PDF 自体の問題ではない。その場合、PDF はラスター画像を包んだ薄いラッパーにすぎない
      画像を抽出してから GIMP や ImageMagick でコントラストを上げ、新しい PDF を作ればよい。ファイルが多いならスクリプトで処理することもできる
  • 一覧を見ているところだが、PDF からテキストを抽出する APIがあるか探している
    あるいは、ベクターや埋め込みの形で取得できるのかも気になっている