>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Python

PdfDingと无尽のPDF混沌を制覇する

PdfDing Logo

ほとんどの方に、Downloadsフォルダやホームサーバーに、長年にわたって蓄積された何百ものPDFがあるでしょう。技術ドキュメント、システムプログラミングの本、レシート、契約書、スキャン、研究論文など。通常、このような混乱の中で適切な段落を見つけるのは悪夢のような状況です:あるファイルはブラウザプレビューで開いていて、別のファイルはタブレットにダウンロードされており、メモは職場のラップトップに残ったまま。

もしブックマーク管理にlinkdingを使ったことがあるなら、コンセプトはすぐに理解できるでしょう。開発者のmrmn2はそこからインスピレーションを得て、PdfDingを作成しました — Webインターフェースを通じてPDFの閲覧、カタログ管理、編集于一役の軽量な自己ホスト型オールインワンソリューションです。

PdfDing Demo Screenshot

このサービスができること

PdfDingが解決するのはシンプルな問題です:すべてのドキュメントへの单一エントリーポイントを提供し、デバイス間で状態を同期させます。デスクトップで本を開き、タブを閉じても、夜には同じページから電話で読み続けることができます。

このプロジェクトは、肥大化したエンタープライズ機能なしに、基本的なドキュメント管理ニーズをカバーしています。

閲覧と同期

リーダーの主な機能は進捗トラッキングです。インターフェースには各ファイルの進捗バーが表示され、どのマニュアルが半分読まれていて、まだ手をつけていないのはどれかがすぐにわかります。

快適な閲覧のために、開発者は以下を追加しました:

  • ダークテーマ
  • 古い白背景のスキャン用カラー反転モード
  • さまざまなスクリーンに対応した複数ページレイアウトオプション
  • ドキュメントの横に配置されたMarkdown対応のメモパネル

アノテーションと署名

PdfDingには、功能齐全のマークアップエディタが含まれています。蛍光ペンでテキストをハイライトしたり、余白に手描きの図を描いたり、テキストブロックを挿入したりできます。

別途嬉しいのが署名処理です。プロフィールに署名を一度保存すれば、任意の承認済みデバイスから契約書や請求書へ素早く押印できます。すべてのコメントとハイライトは別パネルにまとめられ、最も重いソースファイルをアップロードせずにエクスポートできます。

カタログの整理

ドキュメントが百を超えると、平面リストでは対応できなくなります。PdfDingでは、ニーズに合った構造を構築できます:

  • 個人用と仕事用のファイルを分離するワークスペース
  • ネストされたコレクション
  • マルチレベルのタグ
  • お気に入りおよび古いバージョンのアーカイブ

一括アクションで大量操作も可能です。四半期のレポート20件を選択して、数クリックでアーカイブに移動したり、共通タグを適用したりできます。

共有とセキュリティ

同僚やクライアントにドキュメントを見せたい場合、メンジャー経由でファイルを送り出す必要はありません。アプリ内で、特定のドキュメントまたはコレクション全体の公開リンクまたはQRコードを生成できます。必要に応じて、パスワード保護や時間制限アクセスを設定できます。

セキュリティの観点からも,一切都整っています:

  • OIDCプロトコルによるSSOサポート
  • TOTPコードによる二要素認証
  • WebAuthn標準によるハードウェアキーと生体認証

内部での動作仕組み

内部はPythonで駆動しています。開発者はシステムをマイクロサービスの複雑さで負荷をかけず、手頃なVPSやホームRaspberry Piにでも簡単にデプロイできるモノリシックアーキテクチャを選択しました。

ちなみに、この開発は欧州NGI0 Commons Fund(NLnetによるNext Generation Internetプログラム)から資金的支援を受けています。これは良い兆候です:開発者にはコードベースを改良するリソースがあり、リリース後1ヶ月で放棄されることもありません。

NLnet foundation logo

自分で実行する方法

最も簡単な方法はDocker Composeでサービスをスピンアップすることです。標準的なマニフェストを作成します:

services:
  pdfding:
    image: mrmn/pdfding:latest
    container_name: pdfding
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - SECRET_KEY=your-super-secret-key-change-me

docker compose up -dを実行した後、Webパネルはポート8080で利用可能になります。本番環境では、Nginx Proxy Manager、Traefik、またはCaddyでSSL証明書を使ってトラフィックをルーティングするだけです。

クラスター向けには、ドキュメントに готовые Helmチャートが含まれており、Kubernetesへのデプロイも問題ありません。

誰が役立つと思うか

自動テキスト認識(OCR)、複雑な受信メール処理パイプライン、バーコード解析が必要な場合、PdfDingはPaperless-ngxのような重量級ドキュメント管理システムに取って代わる可能性は低いでしょう。

しかし、本、ドキュメント、マニュアル、契約書用のクリーンで高速なリーダーとカタログを探しているなら、タブレッドから素早く署名を書く機能が必要で、このプロジェクトは完璧な選択肢です。インストールする前に、公式のデモでインターフェースを試すことができます。

関連プロジェクト