PDF Writer の使用

PDF Writer の使用

PDFライターの使用

Aspose.Words は Python 用のFOSSで、専用のレンダリングパイプラインを通じて文書をPDFにエクスポートします。パイプラインは各LDM要素 — 段落、ラン、シェイプ、テーブル — を、専門のレンダラーを使用してPDF出力に変換します。


基本的なPDFエクスポート

LdmPdfWriter を使用して、読み込んだ任意の文書をPDFとして保存します:

import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter

doc = aw.Document("input.docx")
LdmPdfWriter().write(doc, "output.pdf")

読み込み時に入力形式は自動的に検出されます — Document は DOCX、DOC、RTF、TXT、Markdown ファイルを受け付け、LdmPdfWriter は入力形式に関係なく常に PDF 出力を生成します:

import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter

doc = aw.Document("input.doc")
LdmPdfWriter().write(doc, "output.pdf")

PdfSaveOptions の使用

ライターのコンストラクタに PdfSaveOptions を渡すことで、PDF 出力を構成します:

import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
from aspose.words_foss.saving import PdfSaveOptions

doc = aw.Document("input.docx")
opts = PdfSaveOptions()
LdmPdfWriter(opts).write(doc, "output.pdf")

PDFレンダリングパイプライン

PDFライターは内部で4つの専門レンダラーを使用します:

RendererHandles
ParagraphRendererLDM段落をPDFにレンダリングします — 配置、間隔、インデントを処理
RunRenderer書式設定されたランをレンダリングします — フォント、色、リンク付きのテキストセグメント
ShapeRenderer形状、画像、および位置指定要素をレンダリングします
TableRendererLDMテーブルをレンダリングします — セルの枠線、結合、パディング

これらのレンダラーは協力して最終的なPDFを生成します。LdmPdfWriter を介して間接的に操作します。


複数フォーマットをPDFに変換する

PDFライターは、サポートされている任意のリーダー(DOCX、DOC、RTF、TXT、Markdown)からの入力を受け付けます:

import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter

writer = LdmPdfWriter()
for input_file in ["report.docx", "legacy.doc", "notes.rtf", "readme.txt"]:
    doc = aw.Document(input_file)
    pdf_name = input_file.rsplit(".", 1)[0] + ".pdf"
    writer.write(doc, pdf_name)
    print(f"Saved {pdf_name}")

ヒントとベストプラクティス

  • デフォルトを超えてPDF出力をカスタマイズする必要がある場合は、PdfSaveOptions を使用してください。
  • バッチ変換では、ループでロードおよび保存します — レンダラーはステートレスで、ドキュメント間で再利用可能です。
  • PDFライターは、ソース文書から太字、斜体、下線、フォントサイズ、色を保持します。
  • テーブルセルの結合 (CellMerge) は、PDF出力で正しくレンダリングされます。
  • 本番環境に展開する前に代表的な文書でテストしてください — 複雑なレイアウトは調整が必要になる場合があります。

よくある問題

問題原因修正
PDFでフォントが異なるシステムにフォントがありません必要なフォントをインストールするか、フォント置換を使用してください
表の配置がずれている複雑な入れ子テーブル構造ソース文書のテーブルの入れ子構造を簡素化する
画像が欠落しています画像データがソースに埋め込まれていません画像が外部リンクではなく埋め込まれていることを確認してください

FAQ

どの入力フォーマットをPDFにエクスポートできますか?

DOCX、DOC、RTF、TXT、Markdown ファイルはすべて読み込んで PDF として保存できます。

PDFライターはページヘッダーとフッターに対応していますか?

ソース文書のヘッダーとフッターが LDM に存在する場合、PDF 出力に含まれます。

PDF のページサイズと向きを制御できますか?

ソース文書のページ設定プロパティ(サイズ、向き、余白)は PDF に保持されます。保存する前に、Document セクションの PageSetup を変更して、これらの値を変更してください。


API Reference の概要

クラス / メソッド説明
PdfSaveOptionsドキュメントを PDF として保存するオプション
ParagraphRendererLDM段落をPDFにレンダリングします
RunRenderer書式設定されたラン(フォント、色、リンク付きテキスト)をレンダリングします
ShapeRenderer図形、画像、配置された要素をレンダリングします
TableRendererLDMテーブルをPDFにレンダリングします
SaveFormat.PDFPDF保存形式の定数
LdmPdfWriter().write(doc, path)文書をPDFに保存

参照

 日本語