はじめに
PDFSharpは.NETライブラリの一つで、PDFの生成や編集を容易に行うことができます。
今回はより応用的な使用方法を紹介します。
目次
- PDFのページを結合する方法
- 既存のPDFにテキストを追加する方法
- PDFのページを回転させる方法
1. PDFのページを結合する方法
PDFSharpを使用して、複数のPDFドキュメントを一つのファイルに結合することができます。
以下に具体的なコード例を示します。
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
public void CombinePdf(string outputFilePath, params string[] inputFilePaths)
{
// 出力するPDFドキュメントを作成
using (PdfDocument outputDocument = new PdfDocument())
{
// 各入力ファイルを順番に処理
foreach (string file in inputFilePaths)
{
// 入力ファイルを読み込み
using (PdfDocument inputDocument = PdfReader.Open(file, PdfDocumentOpenMode.Import))
{
// 全ページを出力ドキュメントに追加
foreach (PdfPage page in inputDocument.Pages)
{
outputDocument.AddPage(page);
}
}
}
// 結合したPDFを保存
outputDocument.Save(outputFilePath);
}
}
このコードでは、inputFilePaths
に指定された複数のPDFファイルを読み込み、それらの全ページをoutputFilePath
に指定された新しいPDFファイルに結合しています。
2. 既存のPDFにテキストを追加する方法
次に、既存のPDFにテキストを追加する方法について説明します。
この方法は、例えば既存のPDF文書に注釈をつける際に便利です。
using PdfSharp.Pdf;
using PdfSharp.Drawing;
public void AddTextToPdf(string filePath, string text, XRect position)
{
// PDFファイルを編集モードで開く
using (PdfDocument document = PdfReader.Open(filePath, PdfDocumentOpenMode.Modify))
{
// 最初のページに描画するためのグラフィックスオブジェクトを作成
XGraphics gfx = XGraphics.FromPdfPage(document.Pages[0]);
// 描画に使用するフォントを定義
XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
// テキストを指定された位置に描画
gfx.DrawString(text, font, XBrushes.Black, position, XStringFormats.Center);
// 変更を保存
document.Save(filePath);
}
}
このコードは、指定されたPDFの最初のページにテキストを追加します。
position
はテキストを配置する位置を指定します。
3. PDFのページを回転させる方法
最後に、PDFの特定のページを回転させる方法を紹介します。
using PdfSharp.Pdf;
public void RotatePdfPage(string filePath, int pageIndex, int angle)
{
// PDFファイルを編集モードで開く
using (PdfDocument document = PdfReader.Open(filePath, PdfDocumentOpenMode.Modify))
{
// 回転させたいページを取得
PdfPage page = document.Pages[pageIndex];
// ページを指定した角度だけ回転
page.Rotate = (page.Rotate + angle) % 360;
// 変更を保存
document.Save(filePath);
}
}
このコードは、指定されたPDFの特定のページを回転させます。
pageIndex
は回転させたいページのインデックスを指定し、angle
は回転角度を指定します。
以上