チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»pdfjavapagesetting

Displaying items by tag: pdfjavapagesetting

適切な背景を使用することで、PDF 文書内の異なるコンテンツ要素がより一致し、PDF 文書の視覚的印象や読みやすさが向上します。さらに、異なる使用シナリオに応じて 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>9.6.2</version>
    </dependency>
</dependencies>

Java で PDF ドキュメントに背景色を追加する

PDF の背景を設定するには、各ページを処理する必要があります。PDF 内のすべてのページをループし、PdfPageBase.setBackgroundColor() メソッドを使用して各ページの背景色を設定することができます。以下が詳細な手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントをロードします。
  • PDF 内のページをループし、PdfPageBase.setBackgroundColor() メソッドを使用して各ページに背景色を追加します。
  • PdfPageBase.setBackgroudOpacity() メソッドを使用して、背景の透明度を設定することもできます。
  • PdfDocument.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;

import java.awt.*;

public class SetPDFBackgroundColor {
    public static void main(String[] args) {

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFファイルをロードする
        pdf.loadFromFile("sample.pdf");

        //PDFのページをループする
        for(int i = pdf.getPages().getCount()-1; i>=0; i--)
        {
            PdfPageBase page = pdf.getPages().get(i);

            //ページの背景色を設定する
            page.setBackgroundColor(Color.PINK);

            //背景の透明度を設定する
            page.setBackgroudOpacity(0.2f);
        }

        //PDFファイルを保存する
        pdf.saveToFile("BackgroundColor.pdf");
        pdf.dispose();
    }
}

Java:PDF の背景色または背景画像を設定する方法

Java で PDF ドキュメントに背景画像を追加する

Spire.PDF for Java は、PdfPageBase.setBackgroundImage() メソッドを提供し、PDF ページに背景画像を設定することができます。PDF 文書に背景画像を追加するための詳細な手順は以下の通りです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントをロードします。
  • PDF 内のページをループし、PdfPageBase.setBackgroundImage() メソッドを使用して各ページに背景画像を追加します。
  • PdfPageBase.setBackgroudOpacity() メソッドを使用して、背景の透明度を設定することもできます。
  • PdfDocument.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class SetPDFBackgroundColor {
    public static void main(String[] args) throws IOException {

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFファイルをロードする
        pdf.loadFromFile("sample.pdf");

        //画像をロードする
        BufferedImage background = ImageIO.read(new File("background.jpg"));

        //PDFのページをループする
        for(int i = pdf.getPages().getCount()-1; i>=0; i--)
        {
            PdfPageBase page = pdf.getPages().get(i);

            //ロードされた画像をページの背景画像に設定する
            page.setBackgroundImage(background);

            //背景の透明度を設定する
            page.setBackgroudOpacity(0.4f);
        }

        //PDFファイルを保存する
        pdf.saveToFile("BackgroundImage.pdf);
        pdf.dispose();
    }
}

Java:PDF の背景色または背景画像を設定する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

余白とは、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);
    }
}

Java:既存の 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);
    }
}

Java:既存の PDF ドキュメントの余白を調整する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

PDF の1ページの内容を分離して表示、分離印刷などの操作を行う必要がある場合、内容の再編集が面倒になることがあります。 このような場合、1つのページを直接複数のページに分割することで、表示や印刷などの操作を容易にすることができます。 今回は、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>9.3.11</version>
    </dependency>
</dependencies>

PDF のページを複数ページに分割する

Spire.PDF for Java では、PDF ページの内容を新しい PDF ページに描画するための PdfPageBase.createTemplate().draw() メソッドを提供しています。 このメソッドを使って、元のページの内容を複数ページに分けて描画することで、PDF ページを分割する目的を達成することができます。 以下は、PDF ページを3ページに分割する、詳細な操作手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
  • PdfDocument.getPages().get() メソッドを使用して、指定されたページを取得します。
  • 新しい PDF ドキュメントを作成し、その余白を0に設定します。
  • 新しい PDF ドキュメントのページサイズを、元の PDF ドキュメントのページサイズの1/3に設定します。
  • PdfDocument.getPages().add() メソッドを使用して、新しい PDF ドキュメントにページを追加します。
  • PdfPageBase.createTemplate().draw() メソッドを使用して、元の PDF ページの内容を新しいページ上に描画します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.geom.Point2D;

public class splitPDFPage {
    public static void main(String[] args) {

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/4月.pdf");

        //PDFドキュメントの最初のページを取得する
        PdfPageBase page = pdf.getPages().get(0);

        //新規にPDFドキュメントを作成し、余白を削除する
        PdfDocument newPdf = new PdfDocument();
        newPdf.getPageSettings().getMargins().setAll(0);

        //水平分割
        newPdf.getPageSettings().setWidth((float) page.getSize().getWidth());
        newPdf.getPageSettings().setHeight((float) page.getSize().getHeight()/3);

        //垂直分割
        //newPdf.getPageSettings().setWidth((float) page.getSize().getWidth()/2);
        //newPdf.getPageSettings().setHeight((float) page.getSize().getHeight());

        //新規作成したPDFドキュメントにページを追加する
        PdfPageBase newPage = newPdf.getPages().add();

        //PdfLayoutTypeの設定をPaginateにすることで、コンテンツが自動的にページングされるようになる
        PdfTextLayout layout = new PdfTextLayout();
        layout.setBreak(PdfLayoutBreakType.Fit_Page);
        layout.setLayout(PdfLayoutType.Paginate);

        //元のページの内容を新しいドキュメントページにプロットする
        page.createTemplate().draw(newPage, new Point2D.Float(0, 0), layout);

        //ドキュメントを保存する
        newPdf.saveToFile("PDFページの分割.pdf");
        newPdf.close();
    }
}

Java:PDF のページを分割する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

スキャンした PDF ドキュメントは、間違ったページの向き(逆さまなど)で作成されることがあり、読むのに非常に不便なことがあります。 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>9.3.11</version>
    </dependency>
</dependencies>

PDF ドキュメント内の特定のページを回転させる

PDF のページを回転させる場合、回転角度は90度刻みとなります。 回転角度は、0度、90度、180度、270度のいずれかに設定することができます。 以下は、指定した PDF ページを回転させるための詳細な手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
  • PdfDocument.getPages().get(pageIndex) メソッドを使用して、指定した PDF ページをパラメータ付きで取得します(初期値は0です)。
  • PdfPageBase.getRotation().getValue() メソッドを使用して、ページの元の回転角度を取得します。
  • 回転角度を元の回転角度に加算します。
  • PdfPageBase.setRotation() メソッドを使用して、新しい回転角度をページに適用します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageRotateAngle;

public class rotatePDFPage {
    public static void main(String []args){

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/予算の概要.pdf");

        //ドキュメントの2ページ目を取得する
        PdfPageBase page = pdf.getPages().get(1);

        //ページの元の回転角度を取得する
        int rotation = page.getRotation().getValue();

        //元の回転角度から時計回りに180度ページを回転させる
        rotation += PdfPageRotateAngle.Rotate_Angle_180.getValue();
        page.setRotation(PdfPageRotateAngle.fromValue(rotation));

        //ドキュメントを保存する
        pdf.saveToFile("ページの回転.pdf");
    }
}

Java:PDF のページを回転させる方法

PDF ドキュメント内の全ページを回転させる

以下は、PDF ドキュメント内の全ページを回転させる手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
  • ドキュメント内のページをループして、各ページを回転させます。
  • PdfDocument.getPages().get() メソッドを使用して、ページを取得します。
  • PdfPageBase.getRotation().getValue() メソッドを使用して、ページの元の回転角度を取得します。
  • 元の回転角度に回転角度を加算します。
  • PdfPageBase.setRotation() メソッドを使用して、新しい回転角度をページに適用します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageRotateAngle;

public class rotateAllPDFPages {
    public static void main(String []args){

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/予算の概要.pdf");

        //ドキュメント内のページをループする
        for(int i = 0; i < pdf.getPages().getCount(); i++) {
            //ページを取得する
            PdfPageBase page = pdf.getPages().get(i);
            //ページの元の回転角度を取得する
            int rotation = page.getRotation().getValue();
            //元の回転角度から時計回りに180度ページを回転させる
            rotation += PdfPageRotateAngle.Rotate_Angle_180.getValue();
            page.setRotation(PdfPageRotateAngle.fromValue(rotation));
        }

        //ドキュメントを保存する
        pdf.saveToFile("すべてのページを回転.pdf");
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

ページ数の多い 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>9.3.11</version>
    </dependency>
</dependencies>

既存の PDF ドキュメントにページ番号を追加する

ダイナミック フィールド PdfPageNumberFieldPdfPageCountFieldPdfCompositeField を使用すると、PDF ドキュメントにページ番号を追加することができます。

PdfPageNumberField はページ番号の表示に、PdfPageCountField は総ページ数の表示に、PdfCompositeFieldPdfPageNumberFieldPdfPageCountField などの2つ以上の動的フィールドを1つのフィールドに結合するために使用されるものです。

PDF ドキュメントに1、2、3のようなページ番号を追加したいだけなら、PdfPageNumberField を使用すればよいでしょう。ページ X/Y のようなページ番号をドキュメントに追加したい場合は、PdfPageNumberFieldPdfPageCountFieldPdfCompositeField を使用する必要があります。

既存の PDF ドキュメントに「X/Y」のページ番号を追加する方法を説明します。

  • PdfDocument のインスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfPageNumberField のインスタンスを作成します。
  • PdfPageCountField のインスタンスを作成します。
  • PdfCompositeField のインスタンスを作成します。
  • PdfCompositeField.setStringFormat() メソッドを使用して、複合フィールドの文字揃えを設定します。
  • PDF ドキュメント内の各ページをループし、PdfCompositeField.draw() メソッドを使用して、ページの特定の場所に複合フィールドを描画します。
  • PdfDocument.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class addPageNumberToPDF {
    public static void main(String[] args) {

        //PdfDocumentのインスタンスを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/英語の問題.pdf");

        //PdfTrueTypeFontインスタンスを作成する
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Gothic UI", Font.PLAIN, 10));

        //PdfPageNumberFieldのインスタンスを作成する
        PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());

        //PdfPageCountFieldのインスタンスを作成する
        PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());

        //PdfCompositeFieldのインスタンスを作成し、ファイルされたページ番号とページ数のフィールドを複合フィールドに追加する
        PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "{0} / {1}", pageNumberField, pageCountField);

        //複合フィールドの文字書式を設定する
        compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));

        //ページをループする
        for(int i = 0; i < pdf.getPages().getCount();i ++)
        {
            PdfPageBase page = pdf.getPages().get(i);
            float x = (float) page.getSize().getWidth()/2 - 20;
            float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
            //各ページに複合フィールドを描画する
            compositeField.draw(page.getCanvas(), x, y);
        }

        //ドキュメントを保存する
        pdf.saveToFile("ページ番号の追加.pdf");
    }
}

Java:既存の PDF ドキュメントにページ番号を追加する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

何らかの理由で 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 ファイルのページに基づいてテンプレートを作成し、新しい PDF ファイルのページにテンプレートを描画します。この方法では、元の PDF ファイルのテキスト、画像、その他の要素が保持されます。

Spire.PDF for Java は、letter、legal、A0、A1、A2、A3、A4、B0、B1、B2、B3、B4 など、さまざまな標準用紙サイズをサポートしています。以下に詳細な操作手順を示します。

  • PdfDocument インスタンスを初期化し、PdfDocument.loadFromFile() メソッドを使用して元の PDF ファイルをロードします。
  • 別のPdfDocument インスタンスを初期化し、新しいPDFファイルを作成します。
  • 元のPDFのページをループします。
  • PdfDocument.getPages().add() メソッドを使用して、必要なサイズのページを新しい PDF ファイルに追加します。
  • PdfTextLayout インスタンスを初期化し、PdfTextLayout.setLayout() メソッドを使用して、テキストレイアウトを1ページに設定します。
  • PdfPageBase.createTemplate() メソッドを使用して、元の PDF 内のページに基づいてテンプレートを作成します。
  • PdfTemplate.draw() メソッドを使用して、指定したテキストレイアウトを持つ新しい PDF ファイルのページにテンプレートを描画します。
  • PdfDocument.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageSize;
import com.spire.pdf.graphics.*;

import java.awt.geom.Point2D;

public class ChangePageSizeToStandardPaperSize {
    public static void main(String []args){
        //PdfDocumentインスタンスを初期化する
        PdfDocument originPdf = new PdfDocument();
        originPdf.loadFromFile("Sample.pdf");

        //新しいPDFドキュメントを作成する
        PdfDocument newPdf = new PdfDocument();

        //元のPDFのページをループする
        for(int i = 0; i< originPdf.getPages().getCount(); i++)
        {
            //A 1サイズのページを新しいPDFに追加する
            PdfPageBase newPage = newPdf.getPages().add(PdfPageSize.A1, new PdfMargins((0)));
            //PdfTextLayoutインスタンスを作成する
            PdfTextLayout layout = new PdfTextLayout();
            //テキストレイアウトを1ページに設定する(設定されていない場合、コンテンツはページサイズに合わせてスケールできません)
            layout.setLayout(PdfLayoutType.One_Page);
            //元のPDFのページに基づいてテンプレートを作成する
            PdfTemplate template = originPdf.getPages().get(i).createTemplate();
            //テンプレートを新しいPDFのページに描画する
            template.draw(newPage, new Point2D.Float(0,0), layout);
        }

        //結果文書を保存する
        newPdf.saveToFile("ChangePageSizeToA1.pdf");
    }
}

Java:PDF ページサイズを変更する方法

PDF ページサイズをカスタム用紙サイズに変更する

Spire.PDF for Java は、測定単位としてポイント(1/72インチ)を使用します。PDF のページサイズをインチやミリメートルなどの他の単位のカスタム用紙サイズに変更する必要がある場合は、PdfUnitConvertor クラスを使用してポイントに変換できます。

以下に詳細な操作手順を示します。

  • PdfDocument インスタンスを初期化し、PdfDocument.loadFromFile() メソッドを使用して元の PDF ファイルをロードします。
  • 別の PdfDocument インスタンスを初期化して、新しい PDF ファイルを作成します。
  • PdfUnitConvertor インスタンスを初期化し、PdfUnitConvertor.convertUnits() メソッドを使用してインチ単位のカスタムサイズをポイントに変換します。
  • Dimension2D インスタンスをカスタムサイズから初期化します。
  • 元の PDF のページをループします。
  • PdfDocument.getPages().add() メソッドを使用して、新しい PDF ファイルにカスタムサイズのページを追加します。
  • PdfTextLayout インスタンスを初期化し、PdfTextLayout.setLayout() メソッドを使用して、テキストレイアウトを1ページに設定します。
  • PdfPageBase.createTemplate() メソッドを使用して、元の PDF 内のページに基づいてテンプレートを作成します。
  • PdfTemplate.draw() メソッドを使用して、指定したテキストレイアウトを持つ新しい PDF ファイルのページにテンプレートを描画します。
  • PdfDocument.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Point2D;

public class ChangePageSizeToCustomPaperSize {
    public static void main(String []args){
        //PdfDocumentインスタンスを初期化する
        PdfDocument originPdf = new PdfDocument();
        originPdf.loadFromFile("Sample.pdf");

        //新しいPDFドキュメントを作成する
        PdfDocument newPdf = new PdfDocument();

        //PdfUnitConvertorインスタンスを作成する
        PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
        //カスタムサイズ(インチ)をポイントに変換する
        float width = unitCvtr.convertUnits(6.5f, PdfGraphicsUnit.Inch, PdfGraphicsUnit.Point);
        float height = unitCvtr.convertUnits(8.5f, PdfGraphicsUnit.Inch, PdfGraphicsUnit.Point);

        //カスタムサイズからDimension 2 Dインスタンスを作成し、新しいPDFのページサイズとして使用する
        Dimension2D size = new Dimension();
        size.setSize(width, height);

        //元のPDFのページをループする
        for(int i = 0; i< originPdf.getPages().getCount(); i++)
        {
            //新しいPDFにカスタムサイズ(6.5*8.5インチ)のページを追加する
            PdfPageBase newPage = newPdf.getPages().add(size, new PdfMargins((0)));
            //PdfTextLayoutインスタンスを初期化する
            PdfTextLayout layout = new PdfTextLayout();
            //テキストレイアウトを1ページに設定する(設定されていない場合、コンテンツはページサイズに合わせてスケールできません)
            layout.setLayout(PdfLayoutType.One_Page);
            //元のPDFのページに基づいてテンプレートを作成する
            PdfTemplate template = originPdf.getPages().get(i).createTemplate();
            //テンプレートを新しいPDFのページに描画する
            template.draw(newPage, new Point2D.Float(0,0), layout);
        }

        //結果文書を保存する
        newPdf.saveToFile("ChangePageSizeToCustomSize.pdf");
    }
}

Java:PDF ページサイズを変更する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

PDF ドキュメントを印刷または共有する場合、ドキュメント内に白紙ページがあるかどうかを確認した方がよいでしょう。なぜなら、白紙ページは紙の無駄遣いにつながり、ドキュメントの専門的な外観が損なわれてしまうからです。しかし、すべてのページに目を通して空白のページを見つけ、それを削除するには、多くの時間がかかるでしょう。この問題に対処するためのより良い方法は、Spire.PDF for Java を使用することです。この記事では、プログラミングによって簡単に PDF ドキュメントから空白ページを見つけ、削除するために Spire.PDF for Java を使用する方法を示しています。

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.9.1</version>
    </dependency>
</dependencies>

PDF ドキュメントから空白のページを検索して削除する

Spire.PDF for Java は、PDF ページが完全に白紙であるかどうかを検出するメソッド PdfPageBase.isBlank() を提供しています。しかし、空白に見えるいくつかのページが実際に白い画像を含んでいる、これらのページは PdfPageBase.isBlank() メソッドを使用して空白とみなされないでしょう。したがって、白紙ページと白い画像を含むページを検出するために、 PdfPageBase.isBlank() メソッドと組み合わせて使用するカスタムメソッド isBlankImage() を作成する必要があります。

注意:この解決策は、PDF ページを画像に変換し、画像が空白であるかどうかを検出します。変換された画像の評価メッセージを削除するには、ライセンスを適用する必要があります。そうでなければ、この方法は正しく動作しません。もしライセンスをお持ちでない場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。でご連絡いただき、評価用の一時的なライセンスをお受け取りください。

詳細な手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfPageBase.isBlank() メソッドを使用して、PDF ドキュメント内のページをループして、ページが空白であるかどうかを検出します。
  • 完全に白紙のページについては、PdfDocument.getPages().remove() メソッドを使用してそれらを削除します。
  • 完全に空白でないページについては、PdfDocument.saveAsImage() メソッドを使用して画像として保存し、変換後の画像が空白かどうかをカスタムメソッド isBlankImage() で検出し、空白の画像に対応するページを PdfDocument.getPages().remove() で削除してください。
  • PdfDocument.saveToFile() メソッドを使用して結果ドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImageType;

import java.awt.*;
import java.awt.image.BufferedImage;

public class removeBlankPages {
    public static void main(String []args){

        //PdfDocument クラスのインスタンスを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/Sample.pdf");

        BufferedImage image;
        //PDF内のページをループする
        for(int i = pdf.getPages().getCount()-1; i>=0; i--)
        {
            //ページを取得する
            PdfPageBase page = pdf.getPages().get(i);
            //ページが空白かどうかを検出する
            if(page.isBlank())
            {
                //白紙ページを削除する
                pdf.getPages().remove(page);
            }
            else
            {
                //PDFのページを画像として保存する
                image = pdf.saveAsImage(i, PdfImageType.Bitmap);

                //変換後の画像が空白かどうかを検出する
                if (isBlankImage(image))
                {
                    //白紙画像に対応するページを削除する
                    pdf.getPages().remove(page);
                }
            }

        }

        //結果のドキュメントを保存する
        pdf.saveToFile("空白ページの削除.pdf");
    }

    //画像が空白かどうかを検出する
    public static boolean isBlankImage(BufferedImage image)
    {
        BufferedImage bufferedImage = image;

        Color pixel;
        for (int i = 0; i < bufferedImage.getWidth(); i++)
        {
            for (int j = 0; j < bufferedImage.getHeight(); j++)
            {
                pixel = new Color(bufferedImage.getRGB(i, j));
                if (pixel.getRed() < 240 || pixel.getGreen() < 240 || pixel.getBlue() < 240)
                {
                    return false;
                }
            }
        }
        return true;
    }
}

Java:PDF から空のページを検索して削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under

ページの順序が正しくない 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>5.2.3</version>
    </dependency>
</dependencies>

PDF でページを再配置する

Spire.PDF for Java が提供する PdfDocument.getPages().reArrange() メソッドを使用すると、PDF ページの順序をすばやく簡単に変更できます。詳細な手順は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用してサンプル PDF ファイルをロードします。
  • PdfDocument.getPages().reArrange() メソッドを使用してページを再配置します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • Java
import com.spire.pdf.PdfDocument;

public class RearrangePages {

    public static void main(String[] args) {

        //PdfDocumentオブジェクトを作成する
        PdfDocument doc = new PdfDocument();

        //サンプルPDFファイルをロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");

        //新しいページの順序を設定してページを並べ替える
        doc.getPages().reArrange(new int[]{1, 0});

        //ドキュメントを別のファイルに保存する
        doc.saveToFile("ChangeOrder.pdf");
        doc.close();
    }
}

Java:PDF でページを再配置する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in ページの設定
Tagged under