余白とは、PDF ドキュメントのページの周りにある空白部分のことです。 ページの内容をより多く表示するためにドキュメントの余白を増やしたり、ページの内容をよりコンパクトに見せるためにドキュメントの余白を減らしたりすることができます。 この記事では、Spire.PDF for Java を使用してプログラムで PDF ドキュメントの余白を調整する方法を紹介します。
Spire.PDF for Java をインストールします
まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>8.11.8</version>
</dependency>
</dependencies>
既存の PDF ドキュメントの余白を増やす
より大きなページを持つ PDF ドキュメントを作成し、元の PDF ドキュメントのページを新しいドキュメントページに描画することで、PDF ドキュメントの余白を拡大することができます。 以下、詳しい手順を説明します。
- PdfDocument のオブジェクトを作成します。
- PdfDocument.loadFromFile() メソッドを使用して、既存の PDF ドキュメントを読み込みます。
- 別の PdfDocument のオブジェクトを作成し、ページサイズの大きい PDF ドキュメントを作成します。
- 余白の値を大きくするように設定します。
- 新しいドキュメントのページサイズを設定します。
- 元のドキュメントのページをループして、PdfPageBase.createTemplate() メソッドを使用して、指定されたページに基づいてテンプレートを作成します。
- PdfDocument.getPages().add() メソッドを使用して、新しい PDF ドキュメントにページを追加します。
- PdfTemplate.draw() メソッドを使用して、追加されたページ上に初期座標 (0, 0) からテンプレートを描画します。
- PdfDocument.saveToFile() メソッドを使用して、新しい PDF ドキュメントを保存します。
- Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;
import com.spire.pdf.graphics.PdfTemplate;
import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Point2D;
public class enlargePDFMargins {
public static void main(String[] args) {
//PdfDocumentのオブジェクトを作成する
PdfDocument originalPdf = new PdfDocument();
//既存のPDFドキュメントを読み込む
originalPdf.loadFromFile("C:/クライアント向け通話サンプル.pdf");
//ドキュメントの最初のページを取得する
PdfPageBase firstPage = originalPdf.getPages().get(0);
//PdfDocumentの別のオブジェクトを作成する
PdfDocument newPdf = new PdfDocument();
//追加する余白の値を設定する
PdfMargins margins = newPdf.getPageSettings().getMargins();
margins.setTop(40);
margins.setBottom(40);
margins.setLeft(40);
margins.setRight(40);
//新規PDFドキュメントのページサイズを設定する
Dimension2D dimension2D = new Dimension();
dimension2D.setSize(firstPage.getSize().getWidth() + margins.getLeft() + margins.getRight(), firstPage.getSize().getHeight() + margins.getTop() + margins.getBottom());
//元のPDFドキュメント内の全ページをループする
for (int i = 0; i < originalPdf.getPages().getCount(); i++) {
//元のドキュメントのページをもとに、テンプレートを作成する
PdfTemplate template = originalPdf.getPages().get(i).createTemplate();
//新しいPDFドキュメントに新しいページを追加する
PdfPageBase page = newPdf.getPages().add(dimension2D);
//追加されたページでテンプレートを描画する
template.draw(page.getCanvas(), new Point2D.Float(0, 0));
}
//新しいPDFドキュメントを保存する
newPdf.saveToFile("マージンの拡大.pdf", FileFormat.PDF);
}
}
既存の PDF ドキュメントの余白を減らす
同様の方法で、PDF ドキュメントの余白を減らすには、まずページを小さくしたPDF ドキュメントを作成する必要があります。 次に、指定した座標から新しい PDF ドキュメントのページに元の PDF ドキュメントのページを描画します。 詳しい操作手順は以下の通りです。
- PdfDocument のオブジェクトを作成します。
- PdfDocument.loadFromFile() メソッドを使用して、既存の PDF ドキュメントを読み込みます。
- 別の PdfDocument のオブジェクトを作成し、ページサイズを小さくした PDF ドキュメントを作成します。
- 縮小する余白の値を設定します。
- 新しい PDF ドキュメントの余白を設定します。
- 元のドキュメントのページをループして、PdfPageBase.createTemplate() メソッドを使用して、指定されたページに基づいてテンプレートを作成します。
- PdfDocument.getPages().add() メソッドを使用して、新しい PDF ドキュメントにページを追加します。
- PdfTemplate.draw() メソッドを使用して、追加されたページ上の指定された位置にテンプレートを描画します。
- PdfDocument.saveToFile() メソッドを使用して、新しい PDF ドキュメントを保存します。
- Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;
import com.spire.pdf.graphics.PdfTemplate;
import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Point2D;
public class reducePDFMargins {
public static void main(String[] args) {
//PdfDocumentのオブジェクトを作成する
PdfDocument originalPdf = new PdfDocument();
//既存のPDFドキュメントを読み込む
originalPdf.loadFromFile("C:/クライアント向け通話サンプル.pdf");
//ドキュメントの最初のページを取得する
PdfPageBase firstPage = originalPdf.getPages().get(0);
//PdfDocumentの別のオブジェクトを作成する
PdfDocument newPdf = new PdfDocument();
//縮小する余白の値を設定する
double left = -20;
double right = -20;
double top = -20;
double bottom = -20;
//新規PDFドキュメントのページサイズを設定する
Dimension2D dimension2D = new Dimension();
dimension2D.setSize(originalPdf.getPages().get(0).getSize().getWidth() + left + right, originalPdf.getPages().get(0).getSize().getHeight() + top + bottom);
//元のPDFドキュメント内の全ページをループする
for (int i = 0; i < originalPdf.getPages().getCount(); i++) {
//元のドキュメントのページをもとに、テンプレートを作成する
PdfTemplate template = originalPdf.getPages().get(i).createTemplate();
//新しいPDFドキュメントにページを追加する
PdfPageBase page = newPdf.getPages().add(dimension2D, new PdfMargins(0));
//追加されたページでテンプレートを描画する
template.draw(page.getCanvas(), new Point2D.Float((float) left, (float) top));
}
//新しいPDFドキュメントを保存する
newPdf.saveToFile("余白の削減.pdf", FileFormat.PDF);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。