PDF の余白とは、コンテンツとページ端の間の空白領域です。多くの場合、余白は中程度か狭く設定し、コンパクトな体裁を作ります。しかし、会社のロゴやその他の関連情報を余白に配置したい場合は、余白をもう少し広くする必要があります。この記事では、C# で Spire.PDF for .NET を使って既存の PDF ドキュメントの余白を増やしたり減らしたりする方法を説明します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
C# で PDF ドキュメントの余白を広げる
PDF ドキュメントの余白を拡大する方法は、ページサイズを大きくした新しい PDF を作成し、その大きなページの適切な位置にソースページを描画することです。以下は、Spire.PDF for .NET を使って PDF ドキュメントの余白を大きくする手順です。
- PdfDocument オブジェクトを初期化しながら元の PDF ドキュメントを読み込みます。
- 別の PdfDocument オブジェクトを作成します。
- 余白の増加値を設定します。
- 新しい PDF ドキュメントのページサイズを計算します。
- 元のドキュメント内のページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づいてテンプレートを作成します。
- PdfDocument.Pages.Add() メ ソ ッ ド を使っ て新 し い PDF ドキュメントにページ を追加 し ます。
- PdfTemplate.Draw() メソッドを使用して、座標 (0, 0) でページ上にテンプレートを描画します。
- PdfDocument.SaveToFile() メ ソ ッ ド を使っ て新 し い PDF ドキュメントを保存 し ます。
- C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace IncreaseMargins
{
class Program
{
static void Main(string[] args)
{
//オリジナルのPDFドキュメントをロードする
PdfDocument originalPdf = new PdfDocument("サンプル.pdf");
//最初のページを取得する
PdfPageBase firstPage = originalPdf.Pages[0];
//新しいPdfDocumentオブジェクトを作成する
PdfDocument newPdf = new PdfDocument();
//マージンの増加値を設定する
PdfMargins margins = newPdf.PageSettings.Margins;
margins.Top = 40;
margins.Bottom=40;
margins.Left=40;
margins.Right= 40;
//新しいページサイズを計算する
SizeF sizeF = new SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom);
//オリジナルドキュメントのページをループ処理する
for (int i = 0; i < originalPdf.Pages.Count; i++)
{
//特定のページを元にテンプレートを作成する
PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();
//新しいPDFにページを追加する
PdfPageBase page = newPdf.Pages.Add(sizeF);
//テンプレートをページ上に描画する
pdfTemplate.Draw(page, 0, 0);
}
//新しいドキュメントを保存する
newPdf.SaveToFile("output/マージンの拡大.pdf", FileFormat.PDF);
}
}
}
C# で PDF ドキュメントの余白を縮める
PDF の余白を減らす方法は、ページサイズを小さくした新しい PDF を作成し、指定された座標で小さなページ上にソースページを描画することです。以下は、Spire.PDF for .NET を使用して PDF ドキュメントの余白を縮小する手順です。
- PdfDocument オブジェクトを初期化しながら元の PDF ドキュメントを読み込みます。
- 別の PdfDocument オブジェクトを作成します。
- 余白の減少値を設定します。
- 新しい PDF ドキュメントのページサイズを計算します。
- 元のドキュメント内のページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づいてテンプレートを作成します。
- PdfDocument.Pages.Add() メ ソ ッ ド を使っ て新 し い PDF ドキュメントにページ を追加 し ます。
- PdfTemplate.Draw() メソッドを使用して、指定した座標でページ上にテンプレートを描画します。
- PdfDocument.SaveToFile() メソッドを使用して新しいPDFドキュメントをファイルに保存します。
- C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace DecreaseMargins
{
class Program
{
static void Main(string[] args)
{
//オリジナルのPDFドキュメントをロードする
PdfDocument originalPdf = new PdfDocument("サンプル.pdf");
//最初のページを取得する
PdfPageBase firstPage = originalPdf.Pages[0];
//新しいPdfDocumentオブジェクトを作成する
PdfDocument newPdf = new PdfDocument();
//減少値を設定する
float left = -12;
float right = -12;
float top = -12;
float bottom = -12;
//新しいページサイズを計算する
SizeF sizeF = new SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom);
//オリジナルドキュメントのページをループ処理する
for (int i = 0; i < originalPdf.Pages.Count; i++)
{
//特定のページを元にテンプレートを作成する
PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();
//新しいPDFにページを追加する
PdfPageBase page = newPdf.Pages.Add(sizeF, new PdfMargins(0));
//テンプレートをページ上に描画する
pdfTemplate.Draw(page, left, top);
}
//新しいドキュメントを保存する
newPdf.SaveToFile("output/マージンの縮小.pdf", FileFormat.PDF);
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。