PDFに図形を描くことで、文書の視覚効果を高めることができます。実線、破線、長方形、円など、さまざまな種類の図形を追加することで、文書をより鮮明にして読者の注意を引くことができます。これは特に、レポートやプレゼンテーション、教材を作成する際に便利です。この記事では、PythonでPDFにさまざまな図形を描く方法を、以下の3つの例で紹介します。
Python PDF API
PDFに様々な図形を追加するには、Spire.PDF for Pythonライブラリが必要です。以下のpipコマンドで直接インストールできます:
pip install Spire.Pdf
PythonでPDFに実線・破線を描画する
Spire.PDF for Pythonライブラリは、PDFページ上の指定された位置に線を描画する PdfPageBase.Canvas.DrawLine()
メソッドを提供します。Pdfペンのスタイルを設定することにより、実線や破線を描くことができます。
Pythonのコード:
from spire.pdf.common import *
from spire.pdf import *
# PDF文書の作成
pdf = PdfDocument()
# ページを追加する
page = pdf.Pages.Add()
# 現在の描画状態を保存する
state = page.Canvas.Save()
# 線の開始X座標とY座標を指定する
x = 100.0
y = 50.0
# 線の長さを指定する
width = 300.0
# 色と太さを指定したPDFペンの作成
pen = PdfPen(PdfRGBColor(Color.get_Blue()), 2.0)
# ペンを使ってページに実線を引く
page.Canvas.DrawLine(pen, x, y, x + width, y)
# ペンのスタイルを破線に設定する
pen.DashStyle = PdfDashStyle.Dash
# 破線のスタイルを [1, 4, 1] に設定する
pen.DashPattern = [1, 4, 1]
# 破線の開始Y座標を指定する
y = 80.0
# ペンでページに破線を引く
page.Canvas.DrawLine(pen, x, y, x + width, y)
# 以前に保存した描画状態を復元する
page.Canvas.Restore(state)
# PDF文書を保存する
pdf.SaveToFile("DrawLines.pdf")
pdf.Close()
pdf.Dispose()
PythonでPDFに矩形を描画する
PdfPageBase.Canvas.DrawRectangle()
メソッドを使用すると、 PDF ページ上の指定した位置に矩形を描画することができます。このメソッドに異なるパラメータを渡すことで、矩形のサイズや塗りつぶしの色などを指定することができます。
Pythonのコード:
from spire.pdf.common import *
from spire.pdf import *
# PDF文書の作成
pdf = PdfDocument()
# ページを追加する
page = pdf.Pages.Add()
# 現在の描画状態を保存する
state = page.Canvas.Save()
# 色と太さを指定したPDFペンの作成
pen = PdfPen(PdfRGBColor(Color.get_Blue()), 1.5)
# ペンを使ってページに長方形を描く
page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 60.0), SizeF(150.0, 90.0)))
# 線形グラデーションブラシを作成する
linearGradientBrush = PdfLinearGradientBrush(PointF(220.0, 60.0), PointF(350.0, 180.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Pink()))
# 線形グラデーションブラシで塗りつぶし矩形を描く
page.Canvas.DrawRectangle (linearGradientBrush, RectangleF(PointF(220.0, 60.0), SizeF(150.0, 90.0)))
# 以前に保存した描画状態を復元する
page.Canvas.Restore(state)
# PDF文書を保存する
pdf.SaveToFile("DrawRectangle.pdf")
pdf.Close()
pdf.Dispose()
PythonでPDFに楕円を描く
PDF ページ上の指定した位置に楕円を描くには、 PdfPageBase.Canvas.DrawEllipse()
メソッドを使用します。異なるPDFペンやブラシを指定することで、異なるスタイルの楕円を描くことができます。
Pythonのコード:
from spire.pdf.common import *
from spire.pdf import *
# PDF文書の作成
pdf = PdfDocument()
# ページを追加する
page = pdf.Pages.Add()
# 現在の描画状態を保存する
state = page.Canvas.Save()
# Penオブジェクトの作成
pen = PdfPens.get_Violet()
# ペンで楕円を描く
page.Canvas.DrawEllipse(pen, 30.0, 60.0, 150.0, 100.0)
# 塗りつぶし用のBrushオブジェクトの作成
brush = PdfSolidBrush(PdfRGBColor(Color.get_Violet()))
# 塗りつぶされた楕円形を描く
page.Canvas.DrawEllipse(brush, 220.0, 60.0, 150.0, 100.0)
# 以前に保存した描画状態を復元する
page.Canvas.Restore(state)
# PDF文書を保存する
pdf.SaveToFile("DrawEllipse.pdf")
pdf.Close()
pdf.Dispose()
以下のリンクをクリックし、1ヶ月の無料ライセンスをリクエストすることで、生成されたドキュメントの赤い透かしを取り除くことができます: