>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML
Python

PDF Craft: 「死んだ」PDFに別れを告げ、スキャン書類を生き生きとしたテキストに変換!

5,803 スター

このような経験はないでしょうか?手元にPDFドキュメントを入手したり、もっと悪い場合はスキャン形式の entire book を持っていたことは?テキストはコピーできず、検索は機能せず、e-reader での読書は pure torture。这样的问题可能困扰过每个处理过学术文献或旧数字化文档的人。就在这时,一位英雄がステージに登场し、これらの「死んだ」ファイルに命を吹き込むことができます – その名は PDF Craftです。

それとは何か、そしてなぜ必要なのか?

PDF Craftは、ある1つだが非常に重要な purpose のために設計された強力なPythonツールです:PDFファイル、特にスキャンされた書籍をより便利で編集可能な形式(MarkdownやEPUBなど)に変換することです。かつて誰かが単にスキャンした古いけれど非常に価値のあるPDFの本があると想像してください。PDF Craftを使えば、reader 用の本格的な e-ブックや、通常のテキストのように操作できるMarkdownファイル(検索、コピー、編集、再フォーマット)に変換できます。これは学生、研究者、開発者、そして本当に情報を扱う際に時間と利便性を大切にする任何人にとって、まさに天からの贈り物です。

私を感動させた主要機能

このプロジェクトは単にテキストを「抽出」するだけでなく、最先端テクノロジーを使ったスマートな方法で行います。

インテリジェントな認識と構造の保持

PDF Craftの中核には DeepSeek OCR – 強力な光学文字認識テクノロジーがあります。これは単なる文字のセットを出力するOCRではありません。DeepSeek OCRは複雑なコンテンツを認識できます:テーブル、数式、脚注、脚注内の画像など。テキストをスキャンするだけでなく、ドキュメント構造を分析し、本文とヘッダー/フッターを分離し、重要な要素の完全性を保持します。

ところで、PDFからテーブルをコピーするとどうなるか覚えていますか?数式は無意味な記号のセットになりますか?PDF Craftは、HTMLテーブルやMathML数式であろうと、これらの要素を可能な限り元の状態に近づけて保持することで、この問題を解決します。

ローカルで信じられないほど高速な動作

バージョン1.0.0以上の主なハイライトの1つは、テキスト修正のための大規模言語モデル(LLM)の完全廃止です。これは、変換プロセス全体が ローカル で発生し、データがどこにも送信されず、ネットワークリクエストに関連する遅延がないことを意味します。GPUをお持ちの場合、ハードウェアアクセラレーションにより、プロセスは闪电のように高速になります。長い待機や接続の切断について忘れることができます!

ただし、それでもLLM修正機能が必要な場合は、開発者が親切にも古い v0.2.8 バージョンを使用するオプションを残しています。

今すぐ オンラインデモ を試して、作業の速度と品質を評価できます。

PDF Craft Online Demo

出力の柔軟性:自動目次作成機能付きMarkdownとEPUB

PDF Craftを使用すると、PDFを2つの一般的な形式に変換できます:MarkdownとEPUB。

  • Markdown:ノート、ドキュメント、博客に簡単に統合できるシンプルで構造化されたテキストが必要な人に最適です。この場合、画像は別のフォルダに保存されます。

    from pdf_craft import transform_markdown
    
    transform_markdown(
        pdf_path="input.pdf",
        markdown_path="output.md",
        markdown_assets_path="images",
    )
    

    PDF to Markdown

  • EPUB:e-reader での快適な読書用の本格的な e-ブックを作成したい場合はこれが選択です。PDF Craftは自動的に目次を生成し、本の中を移動するのに非常に便利です。

    from pdf_craft import transform_epub, BookMeta
    
    transform_epub(
        pdf_path="input.pdf",
        epub_path="output.epub",
        book_meta=BookMeta(
            title="Моя Отсканированная Книга",
            authors=["Автор 1", "Автор 2"],
        ),
    )
    

    PDF to EPUB

ニーズに合わせた微調整

このプロジェクトは、変換プロセスの微調整 위한多くのパラメータを提供します。OCRモデルサイズ(tiny から gundam)を選択でき、モデルキャッシュのパスを指定でき、脚注処理を有効または無効にでき、テーブルレンダリング方法(TableRender.HTML または TableRender.CLIPPING – 単なる画像)や数式(LaTeXRender.MATHMLLaTeXRender.SVG または LaTeXRender.CLIPPING)を設定できます。これにより、最終結果に対する完全な制御が可能になります。

ちなみに、個々のPDFページのレンダリングエラーを無視してプロセス全体を中断しないモードさえあります(ignore_pdf_errors=True)。壊れたファイルに非常に便利です!

内部でどのように動作するか

前述のとおり、OCRエンジンの心臓部は DeepSeek OCR です。モデルは最初の実行時にHugging Faceから自動的にダウンロードされますが、事前にプリロードしたり、独自のキャッシュパスを指定したりできます。これは本番環境やオフライン作業に特に便利です。

from pdf_craft import predownload_models

predownload_models(
    models_cache_path="./my_models", # Указываем свой каталог для кэша
)

PDFファイルの解析には、PDF CraftはPoppler(pdf2image ライブラリ経由)を使用します。PopplerがPATHにない場合は、常に手動でそのパスを指定できます:

from pdf_craft import transform_markdown, DefaultPDFHandler

transform_markdown(
    pdf_path="input.pdf",
    markdown_path="output.md",
    pdf_handler=DefaultPDFHandler(poppler_path="/путь/к/poppler/bin"),
)

MITライセンスで提供されていることは、様々なプロジェクトでの使用に非常に柔軟性があり、嬉しい限りです。

実践的な応用:PDF Craftはどこで役立つか?

  • ライブラリのデジタル化:スキャンされた本や古いドキュメントの山があり、検索可能で編集可能にしたいですか?PDF Craftが最佳のヘルパーになります。
  • あらゆるデバイスでの読書:つまらないPDFをKindle、PocketBook、またはその他のe-reader で読むための便利なEPUBに変換。自動目次によりナビゲーションが快適になります。
  • 分析用のデータ抽出:数十件の科学論文からテキスト、テーブル、数式を迅速に抽出する必要がありますか?このツールが構造を保持しながら为你で行います。
  • 教育教材の作成:PDF教科書を編集可能な形式に変換して、講義ノートを作成したり、ニーズに合わせて適応させたりできます。
  • 他のツールとの組み合わせ:開発者は epub-translator プロジェクトと一緒に使用する可能性も言及しています。これはフォーマットを保持しながらEPUB本を自動的に翻訳できます。想像してみてください:スキャン本 -> EPUB -> 翻訳されたバイリンガルEPUB。それはまさに魔法です!

結論:試す価値はあるか?

疑いの余地なく、はい!スキャンされたPDFを扱う問題に直面したことがあるなら、PDF Craftはあなたの救世主になれるかもしれません。それは単なるコンバーターではなく、ドキュメント構造を理解し、それを保持しようとするスマートなツールです。

次のような場合に最適です:

  • 学術テキストやスキャンされたドキュメント 많이扱う人。
  • PDF処理ワークフローの自動化が必要な開発者。
  • 紙のライブラリをデジタル形式に移行したいe-ブック愛好家。

ちなみに、何もインストールしたくない場合は、オンラインデモを試すことができます。プロジェクトの機能を迅速に評価するのに最適な方法です。

GitHubでPDF Craftを試すそして「死んだ」PDFに新しい命を吹き込みましょう!

関連プロジェクト