1. 製品
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Python 用 Aspose.PDF FOSS

オープンソースの Python ライブラリで、PDF ドキュメントの作成、読み取り、編集、レンダリング、検証を行います — MIT ライセンス、ランタイム費用は不要です。

Aspose.PDF FOSS — オープンソース Python PDF ライブラリ

Aspose.PDF FOSS for Python は、PDF ドキュメントの作成、読み取り、編集、
レンダリング、検証を行うオープンソース ライブラリです。Python 3.11 以降向けに構築され、
型情報が同梱され、任意の Python プロジェクトに統合できます(下記のインストール セクションを参照)。
このプロジェクトは現在アルファ版であり、API と機能カバレッジは最初の安定版リリースに先立ち、
引き続き進化しています。

Document クラスは中心的なエントリーポイントで、pages、form、outlines を公開し、
tagged_content を構造的編集のために提供するとともに、encrypt、decrypt、merge、
optimize、flatten の操作を行います。テキストは Page.add_text() で追加され、抽出は
PdfExtractor と TextFragmentAbsorber で検索でき、フレーズや
正規表現ベースの置換や赤字処理を含みます。ページは PNG または TIFF ラスタ画像に
Page.render() と Page.save_as_image() を通じてレンダリングされます。インタラクティブな AcroForm フィールドは作成され、
Form と Field を介して入力でき、ドキュメントはチェックまたは変換が可能です、
PDF/A および PDF/UA 準拠は Document.validate_pdfa()、Document.convert_to_pdfa() により、
さらに Document.auto_tag() を使用します。

Aspose.PDF FOSS for Python は MIT ライセンスでリリースされ、ランタイム料金や
使用制限はありません。コアパッケージは cryptography と asn1crypto のみが依存関係で、
オプションのエクストラとして Pillow ベースの画像サポート、Brotli ベースの WOFF2 デコード、
HarfBuzz ベースの複雑なテキストレイアウトを提供します。エンタープライズ機能とサポートについては、
Aspose.PDF for Python — Enterprise Product.

ドキュメントとページの操作

  • Document を使用して PDF を作成、読み込み、保存、結合します
  • document.pages として公開されている可変の PageCollection でページを管理します
  • Page.add_text() を使用して、配置された Standard-14 または埋め込み Unicode テキストを追加します
  • Page.add_image() で、raw、JPEG、または PNG 画像をページに配置します
  • Page.draw_rectangle() と Page.draw_line() を使用してベクター形状を描画します

実践的なシナリオ

  • プログラムで請求書、証明書、レポートを生成する
  • 共有テンプレートからドキュメントを一括生成する
  • 生成されたセクションから複数ページのレポートを組み立てる
  • Webサービス内でPDFをメモリ上だけで完全に作成する

テキスト抽出と検索

  • PdfExtractor と get_text() を使用してすべてのページテキストを抽出する
  • has_next_page_text() と get_next_page_text() でページごとのテキストを反復処理する
  • TextFragmentAbsorber を使用して正確なフレーズや正規表現パターンを検索する
  • Document.replace_text() で一致したテキストを置換する
  • Document.redact_text() で一致したテキストを削除し、必要に応じてオーバーレイバーを描画する

実践シナリオ

  • ドキュメントアーカイブ上で全文検索インデックスを構築する
  • 共有前に個人を特定できる情報を削除する
  • テンプレート化された契約書全体の定型文を検索置換する
  • 受信文書を機密用語について監査する

ページのレンダリングを画像に変換

  • Page.render() を使用して、依存関係のない RGB ラスターにページをレンダリングする
  • Page.save_as_image() を介して、レンダリングされた出力を PNG または TIFF として保存する
  • Document.save_page_as_image() で文書全体をバッチレンダリングする
  • dpi パラメータで解像度を、antialias でエッジ品質を制御する
  • 返される RasterizedPage から生のピクセルデータを読み取る

実用的なシナリオ

  • ドキュメント管理ライブラリ用のページサムネイルを生成する
  • 完成したレイアウトから印刷用TIFFプルーフを作成する
  • ドキュメントビューア用のページプレビューギャラリーを構築する
  • 旧式のPDFアーカイブを画像ベースの閲覧形式に変換する

フォームとインタラクティブ フィールド

  • Document.form を使用して AcroForm フィールドを読み取り、反復処理する
  • Form.add_text_field() でテキストフィールドを作成する
  • Form.add_checkbox() と Form.add_radio_group() でチェックボックスとラジオグループを作成する
  • Form.add_list_box() と Form.add_combo_box() でリストボックスとコンボボックスを作成する
  • Field.value でフィールド名に基づいて値を設定し、Document.flatten() でフラット化する

実用的なシナリオ

  • 請求書と契約書のフォーム入力パイプラインを自動化する
  • 配布前にアプリケーションテンプレートに事前入力する
  • 記入済みフォームを編集不可の静的コンテンツPDFとしてアーカイブする
  • 提出されたフィールド値を下流処理のために抽出する

セキュリティ、暗号化、署名

  • ユーザーとオーナーパスワードを使用して Document.encrypt() でドキュメントを暗号化する
  • Document.change_passwords() および Document.decrypt() でパスワードを変更またはクリアする
  • PdfSignature.validate() で埋め込みデジタル署名を検証する
  • 設定可能な PdfLoadLimits で信頼できない入力を制限する
  • ValidationResult を通じて署名者、信頼、失効ステータスを検査する

実践的なシナリオ

  • 各受信者ごとのパスワードで機密レポートを保護する
  • アーカイブ前に署名済み契約書を検証する
  • 悪意のあるアップロードに対して PDF 取り込みパイプラインを強化する
  • 配布ファイルの印刷およびコピー権限の制限を適用する

PDF/A と PDF/UA コンプライアンス

  • ヒューリスティックな PDF/A 検証を Document.validate_pdfa() で実行する
  • ドキュメントを PDF/A に変換するには Document.convert_to_pdfa() を使用する
  • ヒューリスティックな PDF/UA アクセシビリティチェックを Document.validate_pdfua() で実行する
  • 既存のページコンテンツを構造ツリーに自動タグ付けするには Document.auto_tag() を使用する
  • Document.tagged_content を通じてタグツリーを検査および編集する

実践的シナリオ

  • 長期的なデジタルアーカイブ用に外部文書を準備する
  • 公開前に受信PDFのアクセシビリティギャップをスクリーニングする
  • 規制産業向けにコンプライアンスレポートを作成する
  • レガシーPDFをアクセシビリティ基準に合わせてリメディエーションする

PDFを作成してテキストを追加する

数行で新しい PDF ドキュメントを作成し、ページに位置指定テキストを追加します。

git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .
from aspose_pdf import Document
with Document() as document:
    page = document.pages.add()
    page.add_text(
        "Hello from Aspose.PDF FOSS!",
        x=72,
        y=720,
        font_size=18,
    )
    document.save("hello.pdf")

ページを画像にレンダリングする

既存の PDF を読み込み、最初のページを設定可能な DPI のラスタ画像として保存します。

from aspose_pdf import Document
with Document() as document:
    document.load_from("input.pdf")
    document.pages[0].save_as_image("page-1.png", dpi=144)

PDFからテキストを抽出する

ドキュメントをバインドし、エクストラクタファサードでページテキストをすべて取得します。

from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
    extractor.bind_pdf("input.pdf")
    extractor.extract_text()
    print(extractor.get_text())

PDF ファイルを結合

複数のPDFファイルを単一の出力ドキュメントに結合します。

from aspose_pdf import PdfFileEditor
with PdfFileEditor() as editor:
    if not editor.concatenate(["part-1.pdf", "part-2.pdf"], "merged.pdf"):
        raise RuntimeError(editor.last_exception)
  

サポートと学習リソース

 日本語