LoginSignup
0
0

PythonでテキストファイルをPDFドキュメントに変換し、PDFページにテキストを描画する

Posted at

テキストファイルは、軽量で編集しやすいという利点があるため、日常のテキスト記録やデータ交換によく使用されます。一方、PDFドキュメントは、高忠実度、フォーマットの安定性、優れた読書体験を備えているため、正式なレポートや文献の公開など、さまざまな場面で好まれています。テキストファイルをPDFに変換し、PDFにテキストを正確に描画することで、コンテンツの標準的な表示とパーソナライズされたレイアウトの両立を図り、ドキュメント形式に対するさまざまな場面の特定の要件を満たすことができます。この記事では、Pythonを使用してTXTファイルからPDFドキュメントへの変換を簡単かつ迅速に行う方法を紹介します。これにより、さまざまなドキュメント処理のニーズを満たすことができます。


この記事で使用する方法には、Spire.PDF for Pythonが必要です。これは、公式サイトからダウンロードするか、PyPIからインストールできます。pip install Spire.PDF

無料ライセンスを申請


Pythonを使用してテキストファイルを読み込んでPDFドキュメントに変換する

テキストファイルからPDFドキュメントへの変換は、テキストを読み込んで、テキストコンテンツをPDFページに描画することで実現できます。テキストファイルは書式情報を保存していないため、描画時にテキスト書式をカスタマイズして、生成されたPDFドキュメントをニーズにさらに適合させることができます。

読み込みと描画プロセスに必要な主なクラスとメソッドは次のとおりです。

  • PdfDocument クラス: PDFドキュメントモデルを表します
  • PdfTextWidget クラス: 複数のページにまたがるテキスト領域を表します。
  • PdfDocument.Pages.Add() メソッド: PDFドキュメントにページを追加します。
  • PdfTextWidget.Draw() メソッド: 指定された位置にページにテキストウィジェットを描画します。

テキストファイルの内容をPDFページに描画する手順を以下に示します。

  1. 必要なモジュールをインポートします。
  2. File.ReadAllText() メソッドを使用して、TXTファイルからテキストを読み込みます。
  3. PdfDocument インスタンスを作成し、PDFファイルにページを追加します。
  4. PDFフォントとブラシオブジェクトを作成します。
  5. テキストの書式とレイアウトを設定します。
  6. テキストコンテンツを保持するためにPdfTextWidgetオブジェクトを作成します。
  7. PdfTextWidget.Draw() メソッドを使用して、PDFページの指定された位置にテキストウィジェットを描画します。
  8. PdfDocument.SaveToFile() メソッドを使用して、PDFファイルを保存します。
  9. リソースを解放します。

コード例:

from spire.pdf.common import *
from spire.pdf import *

inputFile = "サンプル.txt"
outputFile = "output/テキストからPDFへの変換.pdf"

# テキストファイルからテキストを取得
with open(inputFile, "r", encoding="utf-8") as f:
    text = f.read()

# PdfDocumentのインスタンスを作成
pdf = PdfDocument()

# ページを追加
page = pdf.Pages.Add()

# PDFフォントとPDFブラシを作成
font = PdfTrueTypeFont("Yu Mincho", 12.0, 0, True)
brush = PdfBrushes.get_Brown()

# テキストの配置と行間隔を設定
strformat = PdfStringFormat()
strformat.LineSpacing = 10.0
strformat.Alignment = PdfTextAlignment.Justify

# テキストレイアウトを設定
textLayout = PdfTextLayout()
textLayout.Break = PdfLayoutBreakType.FitPage
textLayout.Layout = PdfLayoutType.Paginate

# テキストの内容を保存するためのPdfTextWidgetのインスタンスを作成
textWidget = PdfTextWidget(text, font, brush)

# テキストのフォーマットを設定
textWidget.StringFormat = strformat

# ページ内の指定位置にテキストを描画
bounds = RectangleF(PointF(0.0, 20.0), page.Canvas.ClientSize)
textWidget.Draw(page, bounds, textLayout)

# 結果ファイルを保存
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()

結果ドキュメント:
Pythonを使用してテキストファイルをPDFに変換

この記事では、Pythonを使用してTXTテキストファイルをPDFドキュメントに変換する方法を紹介しました。これは、テキストコンテンツを読み込んで、新しいPDFドキュメントページにテキストコンテンツを描画することで実現されます。

PDFドキュメントの変換や操作に関するその他のヒントについては、Spire.PDF for Pythonチュートリアルを参照してください。

使用中に問題が発生した場合は、Spire.PDFフォーラムで技術サポートを受けることができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0