チュートリアル

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

チュートリアル»pdfjavadocumentoperation

Displaying items by tag: pdfjavadocumentoperation

PDF ドキュメントに四角形、楕円、線などの図形を描画することで、ドキュメントの視覚的効果を高め、重要なポイントを強調することができます。レポートやプレゼンテーション、論文を作成する際、文章だけでは表現が難しい概念やデータの関係性を図形で補足すると、情報をより明確に伝えられます。本記事では、Java で 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>10.10.7</version>
    </dependency>
</dependencies>

Java で PDF に線を描画する

Spire.PDF for Java では、PdfPageBase.getCanvas().drawLine(PdfPen pen, float x1, float y1, float x2, float y2) メソッドを使用して、指定した位置に線を描画できます。また、PDF ペンのスタイルを変更することで、実線や点線などの異なる線を描画可能です。以下に詳細な手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 線の開始位置(x, y 座標)と長さを定義します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawLine() メソッドを使用して、ペンで実線を描画します。
  • ペンのスタイルを点線に変更し、点線パターンを設定します。
  • 点線スタイルのペンを使用して点線を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class drawLinePDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 線の開始位置のXおよびY座標を指定します
        float x = 100;
        float y = 70;

        // 線の長さを指定します
        float width = 300;

        // 青色で太さ2のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(Color.BLUE), 2f);

        // ペンを使用してページに実線を描画します
        page.getCanvas().drawLine(pen, x, y, x + width, y);

        // ペンのスタイルを点線に設定します
        pen.setDashStyle(PdfDashStyle.Dash);

        // 点線のパターンを設定します
        pen.setDashPattern(new float[]{1, 4, 1});

        // ペンを使用してページに点線を描画します
        page.getCanvas().drawLine(pen, x, y+30, x + width, y+30);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで線を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに線を描いた結果

Java で PDF に円弧や扇形を描画する

指定した位置に弧や扇形を描画するには、PdfPageBase.getCanvas().drawArc() および PdfPageBase.getCanvas().drawPie() メソッドを使用します。以下はその詳細手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawArc() メソッドを使用して弧を描画します。
  • PdfPageBase.getCanvas().drawPie() メソッドを使用して扇形を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class drawArcAndPiePDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さ2のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(new Color(139,0,0)), 2f);

        // 弧の開始角度と掃引角度を指定します
        float startAngle = 90;
        float sweepAngle = 230;
        // ペンを使用してページに弧を描画します
        Rectangle2D.Float rect = new Rectangle2D.Float(30, 60, 120, 120);
        page.getCanvas().drawArc(pen, rect, startAngle, sweepAngle);

        // 扇形チャートの開始角度と掃引角度を指定します
        float startAngle1 = 0;
        float sweepAngle1 = 330;
        // ペンを使用してページに扇形チャートを描画します
        Rectangle2D.Float rect2 = new Rectangle2D.Float(200, 60, 120, 120);
        page.getCanvas().drawPie(pen, rect2, startAngle1, sweepAngle1);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFに円弧や扇形を描画.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに円弧と扇形を描画した結果

Java で PDF に長方形を描画する

Spire.PDF for Java では、PdfPageBase.getCanvas().drawRectangle() メソッドを使用して PDF ページ上に長方形を描画できます。このメソッドに異なるパラメータを渡すことで、位置やサイズ、塗りつぶしの色を指定可能です。以下に詳細手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawRectangle() メソッドを使用して長方形を描画します。
  • PdfLinearGradientBrush オブジェクトを作成して線形グラデーションを設定します。
  • PdfPageBase.getCanvas().drawRectangle() メソッドを使用してグラデーションで塗りつぶした長方形を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class drawRectanglesPDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さ1.5のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(Color.magenta), 1.5f);

        // ペンを使用してページに長方形を描画します
        page.getCanvas().drawRectangle(pen, new Rectangle(20, 60, 150, 90));

        // 線形グラデーションブラシを作成します
        Rectangle2D.Float rect = new Rectangle2D.Float(220, 60, 150, 90);
        PdfLinearGradientBrush linearGradientBrush = new PdfLinearGradientBrush(
                rect,
                new PdfRGBColor(Color.white),
                new PdfRGBColor(Color.blue),
                PdfLinearGradientMode.Vertical
        );

        // 指定した色と太さ0.5の新しいPDFペンを作成します
        PdfPen pen1 = new PdfPen(new PdfRGBColor(Color.black), 0.5f);

        // 新しいペンと線形グラデーションブラシを使用して塗りつぶしの長方形を描画します
        page.getCanvas().drawRectangle(pen1, linearGradientBrush, rect);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで矩形を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

 JavaでPDFに矩形を描画した結果

Java で PDF に楕円を描画する

PdfPageBase.getCanvas().drawEllipse() メソッドを使用すると、PDF ページに楕円を描画できます。PDF ペンまたは塗りつぶし用ブラシを使用することで、異なるスタイルの楕円を描画可能です。以下に詳細手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawEllipse() メソッドを使用して楕円を描画します。
  • PdfSolidBrush オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawEllipse() メソッドを使用して塗りつぶした楕円を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class drawEllipsesPDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さのPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(new Color(95, 158, 160)), 1f);
        // ペンを使用してページに楕円を描画します
        page.getCanvas().drawEllipse(pen, 30, 60, 150, 100);

        // 塗りつぶし用の指定した色のブラシを作成します
        PdfBrush brush = new PdfSolidBrush(new PdfRGBColor(new Color(95, 158, 160)));
        // ブラシを使用してページに塗りつぶし楕円を描画します
        page.getCanvas().drawEllipse(brush, 220, 60, 150, 100);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで楕円を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに楕円を描いた結果

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

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

Published in 図形

タグ付き PDF は、HTML コードによく似たタグを含む PDF ドキュメントです。タグは、PDF のコンテンツが支援技術によってどのように表示されるかを管理する論理構造を提供します。各タグは、見出しレベル1 <H1>、段落 <P>、画像 <Figure>、表 <Table> など、関連するコンテンツ要素を識別します。この記事では、Spire.PDF for Java を使って 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.9.6</version>
    </dependency>
</dependencies>

Java によるタグ付きPDFの作成

タグ付き PDF 文書に構造要素を追加するには、まず PdfTaggedContent クラスのオブジェクトを作成する必要があります。次に、PdfTaggedContent.getStructureTreeRoot().appendChildElement() メソッドを使用して、要素をルートに追加します。以下は、Spire.PDF for Java を使ってタグ付き PDF に「見出し」要素を追加する詳細な手順です。

  • PdfDocument のオブジェクトを作成し、PdfDocument.getPages().add() メソッドを使ってそれにページを追加します。
  • PdfTaggedContent クラスのオブジェクトを作成します。
  • PdfTaggedContent.setPdfUA1Identification() メソッドを使用して、ドキュメントを PDF/UA 識別に準拠させます。
  • PdfTaggedContent.getStructureTreeRoot().appendChildElement() メソッドを使用して、ドキュメントのルートに「ドキュメント」要素を追加します。
  • PdfStructureElement.appendChildElement() メソッドを使用して、「ドキュメント」要素の下に「見出し」要素を追加します。
  • PdfStructureElement.beginMarkedContent() メソッドを使用して開始タグを追加し、見出し要素の開始を示します。
  • PdfPageBase.getCanvas().drawString() メソッドを使用してページに見出しテキストを描画します。
  • PdfStructureElement.beginMarkedContent() メソッドを使用して終了タグを追加します。
  • PdfDocument.saveToFile() メソッドを使用してドキュメントを PDF ファイルに保存します。

次のコード例は、Java でタグ付き PDF ドキュメントのドキュメント、見出し、段落、図、表などのさまざまな要素を作成する方法を示しています。

  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.interchange.taggedpdf.PdfStandardStructTypes;
import com.spire.pdf.interchange.taggedpdf.PdfStructureElement;
import com.spire.pdf.interchange.taggedpdf.PdfTaggedContent;
import com.spire.pdf.tables.PdfTable;

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

public class createTaggedPDF {

    public static void main(String[] args) throws Exception {

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

        //ページを追加します
        PdfPageBase page = doc.getPages().add(PdfPageSize.A4, new PdfMargins(20));

        //タブの順序を設定します
        page.setTabOrder(TabOrder.Structure);

        //PdfTaggedContentクラスのオブジェクトを作成します
        PdfTaggedContent taggedContent = new PdfTaggedContent(doc);

        //ドキュメントの言語とタイトルを設定します
        taggedContent.setLanguage("ja-JP");
        taggedContent.setTitle("Javaによるタグ付きPDFドキュメントの作成");

        //PDF/UA1の識別情報を設定します
        taggedContent.setPdfUA1Identification();

        //フォントとブラシを作成します
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Mincho",Font.PLAIN,14), true);
        PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.BLACK));

        //"ドキュメント"要素を追加します
        PdfStructureElement document = taggedContent.getStructureTreeRoot().appendChildElement(PdfStandardStructTypes.Document);

        // "見出し"要素を追加します
        PdfStructureElement heading1 = document.appendChildElement(PdfStandardStructTypes.HeadingLevel1);
        heading1.beginMarkedContent(page);
        String headingText = "タグ付きPDFとは何ですか?";
        page.getCanvas().drawString(headingText, font, brush, new Point2D.Float(0, 30));
        heading1.endMarkedContent(page);

        // "段落"要素を追加します
        PdfStructureElement paragraph = document.appendChildElement(PdfStandardStructTypes.Paragraph);
        paragraph.beginMarkedContent(page);
        String paragraphText = "タグ付きPDFは、人生を変えるような用語ではないように思えます。しかし、一部の人にとっては重要なものです。視覚障害を持つ人や低視力の人々は、情報にアクセスするために補助技術(画面読み上げや接続された点字表示など)を使用していますが、タグのないPDFでは文書に含まれる情報を見逃してしまいます。補助技術はタグのないPDFを「読む」ことができないためです。デジタルアクセシビリティは、かつて視覚障害を持つ人に閉ざされていた情報への道を多く開いていますが、PDFはしばしばその方程式から外れてしまいます。";
        Rectangle2D.Float rect = new Rectangle2D.Float(0, 60, (float) page.getCanvas().getClientSize().getWidth(), (float) page.getCanvas().getClientSize().getHeight());
        page.getCanvas().drawString(paragraphText, font, brush, rect);
        paragraph.endMarkedContent(page);

        // "図"要素を追加します
        PdfStructureElement figure = document.appendChildElement(PdfStandardStructTypes.Figure);
        figure.beginMarkedContent(page);
        PdfImage image = PdfImage.fromFile("PDF.png");
        page.getCanvas().drawImage(image, new Point2D.Float(0, 220));
        figure.endMarkedContent(page);

        // "表"要素を追加します
        PdfStructureElement table = document.appendChildElement(PdfStandardStructTypes.Table);
        table.beginMarkedContent(page);
        PdfTable pdfTable = new PdfTable();
        pdfTable.getStyle().getDefaultStyle().setFont(font);
        String[] data = {"名前;年齢;性別",
                "ジョン;22;男性",
                "ケイティ;25;女性"
        };
        String[][] dataSource = new String[data.length][];
        for (int i = 0; i < data.length; i++) {
            dataSource[i] = data[i].split("[;]", -1);
        }
        pdfTable.setDataSource(dataSource);
        pdfTable.getStyle().setShowHeader(true);
        pdfTable.draw(page.getCanvas(), new Point2D.Float(0, 310), 300f);
        table.endMarkedContent(page);

        // ドキュメントをファイルに保存します
        doc.saveToFile("PDFUAの作成.pdf");
    }
}

Java:タグ付き PDF ドキュメントの作成方法

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

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

Published in 文書操作

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

比較に使用する2つの PDF ドキュメント:

Java:PDF ドキュメントを比較する方法

2つの PDF ドキュメントを比較する

Spire.PDF for Java は、ユーザーが2つの PDF ドキュメントを比較するためのオブジェクトを作成するための PdfComparer クラスを提供します。PdfComparer オブジェクトを作成した後、ユーザーは PdfComparer.compare(String fileName) メソッドを使用して2つのドキュメントを比較し、結果を新しい PDF ファイルとして保存することができます。

できあがった PDF ドキュメントは、2つのオリジナルドキュメントを左と右に表示し、削除された項目は赤で、追加された項目は黄色で表示されます。

2つの PDF ドキュメントを比較する詳細な手順は以下のとおりです:

  • PdfDocument クラスのオブジェクトを2つ作成し、PdfDocument.loadFromFile() メソッドを使って2つの PDF ドキュメントを読み込みます。
  • PdfComparer クラスのオブジェクトを2つのドキュメントで作成します。
  • PdfComparer.compare() メソッドを使用して2つのドキュメントを比較し、新しい PDF ドキュメントとしてその結果を保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.comparison.PdfComparer;

public class ComparePDF {
    public static void main(String[] args) {
        //PdfDocumentクラスのオブジェクトを作成して、PDFドキュメントを読み込む
        PdfDocument pdf1 = new PdfDocument();
        pdf1.loadFromFile("例1.pdf");

        //別のPdfDocumentクラスのオブジェクトを作成して、別のPDFドキュメントを読み込む
        PdfDocument pdf2 = new PdfDocument();
        pdf2.loadFromFile("例2.pdf");

        //PdfComparerクラスのオブジェクトを作成する
        PdfComparer comparer = new PdfComparer(pdf1, pdf2);

        //2つのPDFドキュメントを比較し、比較結果を新しいドキュメントに保存する
        comparer.compare("比較結果1.pdf");
    }
}

Java:PDF ドキュメントを比較する方法

2つの PDF ドキュメントの指定されたページ範囲を比較する

比較する前に、ユーザーは PdfComparer.getOptions().setPageRanges() メソッドを使用して、比較するページ範囲を制限することができます。詳しい手順は以下のとおりです:

  • PdfDocument クラスのオブジェクトを2つ作成し、PdfDocument.loadFromFile() メソッドを使って2つの PDF ドキュメントを読み込みます。
  • PdfComparer クラスのオブジェクトを2つのドキュメントで作成します。
  • PdfComparer.getOptions().setPageRanges() メソッドを使用して、比較するページ範囲を設定します。
  • PdfComparer.compare() メソッドを使用して2つのドキュメントを比較し、新しい PDF ドキュメントとしてその結果を保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.comparison.PdfComparer;

public class ComparePDFPageRange {
    public static void main(String[] args) {
        //PdfDocumentクラスのオブジェクトを作成して、PDFドキュメントを読み込む
        PdfDocument pdf1 = new PdfDocument();
        pdf1.loadFromFile("例1.pdf");

        //別のPdfDocumentクラスのオブジェクトを作成して、別のPDFドキュメントを読み込む
        PdfDocument pdf2 = new PdfDocument();
        pdf2.loadFromFile("例2.pdf");

        //PdfComparerクラスのオブジェクトを作成する
        PdfComparer comparer = new PdfComparer(pdf1, pdf2);

        //比較するページ範囲を設定する
        comparer.getOptions().setPageRanges(1, 1, 1, 1);

        //2つのPDFドキュメントを比較し、比較結果を新しいドキュメントに保存する
        comparer.compare("比較結果2.pdf");
    }
}

Java:PDF ドキュメントを比較する方法

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

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

Published in 文書操作

PDF ポートフォリオは、テキスト文書、スプレッドシート、プレゼンテーション、画像、ビデオ、オーディオファイルなど、複数のファイルを1つのインタラクティブな 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.7.8</version>
    </dependency>
</dependencies>

Java で PDF ポートフォリオの作成とファイルの追加

PDF ポートフォリオは、複数のファイルの集合です。Spire.PDF for Java の PdfDocument.getCollection() メソッドを使用して、PDF ポートフォリオを簡単に作成することができます。その後、PdfCollection.addFile() メソッドを使用してそこにファイルを追加することができます。具体的な手順は以下の通りです。

  • PDF ポートフォリオに追加する必要があるファイルを指定します。
  • PdfDocument インスタンスを作成します。
  • PDF ポートフォリオを作成し、PdfDocument.getCollection().addFile() メソッドを使用してファイルを追加します。
  • PdfDocument.saveToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

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

        //ファイルを指定する
        String[] files = new String[] { "Input.pdf", "Sample.docx", "Report.xlsx","Intro.pptx","Logo.jpg" };

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

        //PDF ポートフォリオを作成し、そこにファイルを追加する
        for (int i = 0; i < files.length; i++)
        {
            pdf.getCollection().addFile(files[i]);
        }

        //結果ファイルを保存する
        pdf.saveToFile("PortfolioWithFiles.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}

Java:PDF ポートフォリオを作成する方法

Java で PDF ポートフォリオの作成とフォルダーの追加

PDF ポートフォリオを作成した後、Spire.PDF for Java では、PDF ポートフォリオ内にフォルダを作成してファイルをさらに管理することも可能です。具体的な手順は以下の通りです。

  • PDF ポートフォリオに追加する必要があるファイルを指定します。
  • PdfDocument インスタンスを作成します。
  • PdfDocument.getCollection() メソッドを使用して PDF ポートフォリオを作成します。
  • PdfCollection.getFolders().createSubfolder() メソッドを使用して PDF ポートフォリオにフォルダーを追加します。次に、PdfFolder.addFile() メソッドを使用してフォルダーにファイルを追加します。
  • PdfDocument.saveToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.collections.PdfFolder;

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

        //ファイルを指定する
        String[] files = new String[] { "Input.pdf", "Sample.docx", "Report.xlsx","Intro.pptx","Logo.jpg" };

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

        //ポートフォリオを作成し、そこにフォルダーを追加する
        for (int i = 0; i < files.length; i++)
        {
            PdfFolder folder = pdf.getCollection().getFolders().createSubfolder("folder" + i);

            //ファイルをフォルダーに追加する
            folder.addFile(files[i]);
        }

        //結果ファイルを保存する
        pdf.saveToFile("PortfolioWithFolders.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}

Java:PDF ポートフォリオを作成する方法

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

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

Published in 文書操作

PDF のレイヤーとは、ドキュメントのコンテンツをグループ化して階層化する方法であり、オプションコンテンツグループ(OCG)オブジェクトを使用してサポートされています。ユーザーは必要に応じて異なるレイヤーを選択的に表示または非表示にすることができます。PDF のレイヤーは通常、テキスト、画像、図形、注釈などのドキュメントの視覚要素を管理するために使用されます。これらの要素を異なるレイヤーに配置することで、ユーザーはドキュメントの可視性とレイアウトを簡単に制御することができます。この記事では、Spire.PDF for Java を使用して 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.7.8</version>
    </dependency>
</dependencies>

PDF ドキュメントにレイヤーを追加する

Spire.PDF for Java は、PDF ドキュメントにレイヤーを追加する PdfDocument.getLayers().addLayer() メソッドを提供します。 その具体的な手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ファイルを読み込みます。
  • PdfDocument.getLayers().addLayer(java.lang.String name) メソッドを使用して、PDF にレイヤーを追加し、名前を指定します。 また、PdfDocument.getLayers().addLayer(java.lang.String name, PdfVisibility state) メソッドを使用して、レイヤーを追加する際にレイヤーの可視性を設定することもできます。
  • PdfLayer.createGraphics() メソッドを使用して、レイヤー用のキャンバスを作成します。
  • キャンバスにテキストや画像などの要素を描画します。
  • PdfDocument.saveToFile() メソッドを使用して、結果のドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;
import com.spire.pdf.graphics.layer.PdfLayer;

import java.awt.*;
import java.awt.geom.Dimension2D;
import java.io.IOException;

public class addLayersToPdf {

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

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

        //PDFドキュメントを読み込む
        pdf.loadFromFile("サンプル.pdf");

        //AddLayerWatermarkメソッドを使用してウォーターマークのレイヤーを追加する
        AddLayerWatermark(pdf);

        //AddLayerHeaderメソッドを使用してヘッダーのレイヤーを追加する
        AddLayerHeader(pdf);

        //ドキュメントを保存する
        pdf.saveToFile("レイヤーの追加.pdf");
        pdf.dispose();
    }

    private static void AddLayerWatermark(PdfDocument doc) {

        //"透かし"という名前のレイヤーを作成する
        PdfLayer layer = doc.getLayers().addLayer("透かし");

        //フォントを作成する
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC Medium", Font.PLAIN, 48), true);

        //透かしのテキストを指定する
        String watermarkText = "オリジナル";

        //テキストのサイズを取得する
        Dimension2D fontSize = font.measureString(watermarkText);

        //オフセットを計算する
        float offset1 = (float) (fontSize.getWidth() * Math.sqrt(2) / 4);
        float offset2 = (float) (fontSize.getHeight() * Math.sqrt(2) / 4);

        //ページ数を取得する
        int pageCount = doc.getPages().getCount();

        //2つの変数を宣言する
        PdfPageBase page;
        PdfCanvas canvas;

        //すべてのページをループで処理する
        for (int i = 0; i < pageCount; i++) {

            page = doc.getPages().get(i);

            //レイヤーにキャンバスを作成する
            canvas = layer.createGraphics(page.getCanvas());
            canvas.translateTransform(canvas.getSize().getWidth() / 2 - offset1 - offset2, canvas.getSize().getHeight() / 2 + offset1 - offset2);
            canvas.setTransparency(0.4f);
            canvas.rotateTransform(-45);

            //テキストをレイヤーのキャンバスに描画する
            canvas.drawString(watermarkText, font, PdfBrushes.getDarkBlue(), 0, 0);
        }
    }

    private static void AddLayerHeader(PdfDocument doc) {

        //"ヘッダー"という名前のレイヤーを作成する
        PdfLayer layer = doc.getLayers().addLayer("ヘッダー");

        //ページのサイズを取得する
        Dimension2D size = doc.getPages().get(0).getSize();

        //ページ数を取得する
        int pageCount = doc.getPages().getCount();

        //2つの変数を宣言する
        PdfPageBase page;
        PdfCanvas canvas;

        //すべてのページをループで処理する
        for (int i = 0; i < pageCount; i++) {

            //レイヤーに画像を描画する
            PdfImage pdfImage = PdfImage.fromFile("ヘッダー.jpg");
            page = doc.getPages().get(i);
            float width = pdfImage.getWidth();
            float height = pdfImage.getHeight();
            float x = (float) size.getWidth() / 2 - width / 2;
            float y = 30;
            canvas = layer.createGraphics(page.getCanvas());
            canvas.drawImage(pdfImage, x, y, width, height);

            //レイヤーに線を描画します
            PdfPen pen = new PdfPen(PdfBrushes.getDarkGray(), 2f);
            canvas.drawLine(pen, x, y + height + 5, size.getWidth() - x, y + height + 2);
        }
    }
}

Java:PDF レイヤーの追加、非表示、削除

PDF ドキュメントのレイヤーの可視性を設定する

既存の PDF レイヤーの可視性を設定するには、指定されたレイヤーのインデックスまたは名前を通して PdfDocument.getLayers().get() メソッドを使用し、PdfLayer.setVisibility(PdfVisibility value) メソッドを使用してレイヤーの表示または非表示を設定する必要があります。 その具体的な手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfDocument.getLayers().get().setVisibility() メソッドを使用して、指定したレイヤーの可視性を設定します。
  • PdfDocument.saveToFile() メソッドを使用して、結果のドキュメントを保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.layer.PdfVisibility;

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

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

        //PDFドキュメントを読み込む
        pdf.loadFromFile("レイヤーの追加.pdf");

        //最初のレイヤーの可視性をOffに設定する
        pdf.getLayers().get(0).setVisibility(PdfVisibility.Off);

        //ファイルを保存する
        pdf.saveToFile("レイヤーの非表示.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}

Java:PDF レイヤーの追加、非表示、削除

PDF ドキュメントからレイヤーを削除する

Spire.PDF for Java では、PdfDocument.getLayers().removeLayer(java.lang.String name) メソッドを使用して、既存のレイヤーを名前で削除することもできます。 しかし 、 PDF レイヤーの名前は一意でない可能性があり 、 このメソッドは同じ名前の PDF レイヤーをすべて削除しますので注意してください。 具体的な手順は以下のとおりです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfDocument.getLayers().removeLayer() メソッドを使用して、名前で指定されたレイヤーを削除します。
  • PdfDocument.saveToFile() メソッドを使用して、結果のドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;

public class deleteLayers {

    public static void main(String[] args) {

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

        //PDFドキュメントを読み込む
        pdf.loadFromFile("レイヤーの追加.pdf");

        //指定したレイヤーをその名前で削除する
        pdf.getLayers().removeLayer("ヘッダー");

        //ファイルを保存する
        pdf.saveToFile("レイヤーの削除.pdf");
        pdf.close();
    }
}

Java:PDF レイヤーの追加、非表示、削除

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

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

Published in 文書操作

コードによる 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.5.6</version>
    </dependency>
</dependencies>

予備知識

Spire.PDF for Java のページ(PdfPageBase クラスで表される)は、クライアント領域と周囲のマージンで構成されています。コンテンツ領域は、ユーザーがさまざまなコンテンツを記述するための領域であり、ページ余白は通常空白のエッジになります。

下図に示すように、ページ上の座標系の原点はクライアント領域の左上隅にあり、x 軸は水平に右に伸び、y 軸は垂直に下に伸びています。クライアント領域に追加するすべての要素は、指定された座標に基づいている必要があります。

Java:PDF ドキュメントを作成する方法

さらに、次の表に重要なクラスと方法を示します。これは、以下のコードを理解しやすくするのに役立ちます。

クラスと 方法 説明
PdfDocument クラス PDF ドキュメント モデルを表します。
PdfPageBase クラス PDF ドキュメント内のページを表します。
PdfSolidBrush クラス オブジェクトを単色で塗りつぶすブラシを表します。
PdfTrueTypeFont クラス True Typeフォントを表します。
PdfStringFormat クラス アライメント、文字間隔、インデントなどのテキスト書式情報を表します。
PdfTextWidget クラス 複数のページにまたがる機能を持つテキスト領域を表します。
PdfTextLayout クラス テキストのレイアウト情報を表します。
PdfDocument.getPages().add() メソッド PDF ドキュメントにページを追加します。
PdfPageBase.getCanvas().drawString() メソッド 指定したフォントとブラシオブジェクトを使用して、ページ上の指定した位置に文字列を描画します。
PdfTextWidget.draw() メソッド テキストウィジェットをページの指定した位置に描画します。
PdfDocument.save() メソッド ドキュメントを PDF ファイルに保存します。

Java で PDF ドキュメントを作成する

Spire.PDF for Java では、PDF ドキュメントにさまざまな要素を追加できます。この記事では、プレーンテキストの PDF ドキュメントを作成する方法について説明します。詳細な手順は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用してページを追加します。
  • ブラシとフォントのオブジェクトを作成します。
  • PdfPageBase.getCanvas().drawString() メソッドを使用して、ページの指定された座標で文字列を描画します。
  • テキストを保存する PdfTextWidget オブジェクトを作成します。
  • PdfTextWidget.draw() メソッドを使用して、ページの指定された位置にテキストのウィジェットを描画します
  • PdfDocument.save() メソッドを使用してドキュメントを PDF ファイルに保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageSize;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.io.*;

public class CreatePdfDocument {

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

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

        //ページを追加する
        PdfPageBase page = doc.getPages().add(PdfPageSize.A4, new PdfMargins(35f));

        //タイトルのテキストの指定
        String titleText = "ライセンス契約";

        //Solid Brusheを作成する
        PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));
        PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.BLACK));

        //True Typeフォントを作成する
        PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Yu Mincho",Font.BOLD,18));
        PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Yu Mincho",Font.PLAIN,12));

        //PdfStringFormatクラスによるテキストの配置を設定する
        PdfStringFormat format = new PdfStringFormat();
        format.setAlignment(PdfTextAlignment.Center);

        //ページにタイトルを描画する
        page.getCanvas().drawString(titleText, titleFont, titleBrush, new Point2D.Float((float)page.getClientSize().getWidth()/2, 20),format);

        //.txtファイルから段落テキストを取得する
        String paraText = readFileToString("content.txt");

        //段落内容を保存するPdfTextWidgetオブジェクトを作成する
        PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);

        //段落の内容を配置する長方形を作成する
        Rectangle2D.Float rect = new Rectangle2D.Float(0, 50, (float)page.getClientSize().getWidth(),(float)page.getClientSize().getHeight());

        //PdfLayoutTypeをPaginateに設定して内容を自動的にページング
        PdfTextLayout layout = new PdfTextLayout();
        layout.setLayout(PdfLayoutType.Paginate);

        //ページに段落テキストを描画する
        widget.draw(page, rect, layout);

        //ファイルに保存する
        doc.saveToFile("output/CreatePdfDocument.pdf");
        doc.dispose();

    }

    //.txtファイルを文字列に変換する
    private static String readFileToString(String filepath) throws FileNotFoundException, IOException {

        StringBuilder sb = new StringBuilder();
        String s ="";
        BufferedReader br = new BufferedReader(new FileReader(filepath));
        while( (s = br.readLine()) != null) {
            sb.append(s + "\n");
        }
        br.close();
        String str = sb.toString();
        return str;
    }
}

Java:PDF ドキュメントを作成する方法

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

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

Published in 文書操作

大きい PDF ドキュメントよりも小さいサイズのドキュメントの方が転送や保存に便利です。これが PDF を圧縮する最も一般的な理由の1つです。この記事では、Spire.PDF for Java を使用して PDF ドキュメントを圧縮する方法を紹介します。

ここでは、画像、フィールド、コメント、ブックマーク、添付ファイル、埋め込みフォントを削除することによって 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.0</version>
    </dependency>
</dependencies>

PDFドキュメントを圧縮する

Spire.PDF for Java が提供する PdfDocument.setCompressionLevel()PdfBitmap.setQuality() メソッドは、圧縮レベルの最適な設定と画像の品質の圧縮をサポートします。次に、PdfPageBase.replaceImage() メソッドを使用して圧縮された画像を元の画像に置き換えます。以下に詳細な圧縮手順を示します。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントをロードします。
  • PdfDocument.getFileInfo().setIncrementalUpdate() メソッドを使用して増分更新を禁止します。
  • 文書内のコンテンツを圧縮するために、PdfDocument.setCompressionLevel() メソッドを使用して圧縮レベルを最適に設定します。PdfCompressionLevel 列挙から他のいくつかのレベルを選択できます。
  • ドキュメント内のページをループし、PdfPageBase.getImagesInfo()メソッドを使用して各ページの画像情報コレクションを取得します。
  • コレクション内のすべてのアイテムをループし、PdfBitmap.setQuality() メソッドを使用して特定の画像の品質を圧縮します。
  • PdfPageBase.replaceImage() メソッドを使用して、元の画像を圧縮された画像に替えます。
  • PdfDocument.saveToFile() メソッドを使用して、文書を別の PDF ファイルに保存します。
  • Java
import com.spire.pdf.PdfCompressionLevel;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.exporting.PdfImageInfo;
import com.spire.pdf.graphics.PdfBitmap;

public class CompressPdfDocument {

    public static void main(String[] args) {

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

        //PDFドキュメントをロードする
        doc.loadFromFile("sample.pdf");

        //増分更新を禁止する
        doc.getFileInfo().setIncrementalUpdate(false);

        //圧縮レベルを最適に設定する
        doc.setCompressionLevel(PdfCompressionLevel.Best);

        //ドキュメント内のページをループする
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //特定のページを取得する
            PdfPageBase page = doc.getPages().get(i);

            //ページの画像情報コレクションを取得する
            PdfImageInfo[] images = page.getImagesInfo();

            //コレクション内のすべてのアイテムをループする
            if (images != null && images.length > 0)
                for (int j = 0; j < images.length; j++) {

                    //特定の画像を取得する
                    PdfImageInfo image = images[j];
                    PdfBitmap bp = new PdfBitmap(image.getImage());

                    //圧縮品質を設定する
                    bp.setQuality(20);

                      //元の画像を圧縮された画像に替える
                    page.replaceImage(j, bp);
                }

            //文書を別のPDFファイルに保存する
            doc.saveToFile("output.pdf");
            doc.close();
        }
    }
}

Java:PDF ドキュメントを圧縮する方法

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

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

Published in 文書操作

雑誌、新聞、研究論文などでは、多段組の PDF がよく使われます。Spire.PDF for Java を使えば、コードから簡単に多段組の PDF を作成することができます。この記事では、Java アプリケーションにおいて 2段組の 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.8.3</version>
    </dependency>
</dependencies>

2段組の PDF を作成する

詳しい手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して、PDF に新しいページを追加します。
  • PdfPageBase.getCanvas().drawLine() メソッドを使用して、PDF に線を追加し、その書式を設定します。
  • PdfPageBase.getCanvas().drawString() メソッドを使用して、PDF 内の2つの別々の矩形領域にテキストを追加しています。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを PDF に保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class createTwoColumnPDF {
    public static void main(String[] args) throws Exception {

        //PdfDocument クラスのオブジェクトを作成します
        PdfDocument doc = new PdfDocument();

        //新しいページを追加する
        PdfPageBase page = doc.getPages().add();

        //位置と幅を設定する
        float x = 0;
        float y = 15;
        float width = 600;

        //PdfPen クラスのオブジェクトを作成する
        PdfPen pen = new PdfPen(new PdfRGBColor(Color.black), 1f);

        //PDFページ上に線を描画する
        page.getCanvas().drawLine(pen, x, y, x + width, y);

        //段落テキストを定義する
        String s1 = "Spire.PDF for Java は、Javaアプリケーションが Adobe Acrobat を使用せずに PDF ドキュメントを読み取り、"
                + "書き込み、保存できるようにする PDF API です。この Java PDF コンポーネントを使用すると、"
                + "開発者とプログラマーは、PDF ファイルを最初から作成したり、既存の PDF ドキュメント"
                + "を完全に Java アプリケーション( J2SE および J2EE )で処理したりするための豊富な機能を実装できます。";
        String s2 = "Spire.PDF for Java は、セキュリティ設定、PDF からのテキスト/画像の抽出、PDF のマージ/分割、"
                + "PDFへのテキスト/画像/形状/バーコードの描画、フォームフィールドの作成と入力、"
                + "PDFレイヤーの追加と削除、PDF のオーバーレイ、PDF へのテキスト/画像の透かしの挿入、"
                + "PDF ブックマークの追加/更新/削除、PDF へのテーブルの追加、"
                + "PDF ドキュメントの圧縮など、多種かつ豊富な機能をサポートできます。";

        //ページの幅と高さを取得する
        double pageWidth = page.getClientSize().getWidth();
        double pageHeight = page.getClientSize().getHeight();

        //PdfSolidBrush クラスのオブジェクトを作成する
        PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.BLACK));

        //PdfTrueTypeFont クラスのオブジェクトを作成する
        PdfTrueTypeFont font= new PdfTrueTypeFont(new Font("Yu Mincho",Font.PLAIN,14));

        //PdfStringFormat クラスによるテキスト配置を設定する
        PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);

        //テキストを描画する
        page.getCanvas().drawString(s1, font, brush, new Rectangle2D.Double(0, 20, pageWidth / 2 - 8f, pageHeight), format);
        page.getCanvas().drawString(s2, font, brush, new Rectangle2D.Double(pageWidth / 2 + 8f, 20, pageWidth / 2 - 8f, pageHeight), format);

        //ドキュメントを保存する
        String output = "2段組PDFの作成.pdf";
        doc.saveToFile(output, FileFormat.PDF);
    }
}

Java:段組 PDF ドキュメントの作成

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

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

Published in 文書操作

ドキュメントを正確に保存し、表示することは、PDF の主要な機能です。しかし、異なるデバイスやユーザーの閲覧環境設定が、PDF ドキュメントの表示に影響を与えることに変わりはありません。この問題を解決するために、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>8.8.3</version>
    </dependency>
</dependencies>

PDF ドキュメントの閲覧環境を設定する

Spire.PDF for Java は、PdfViewerPreferences クラスの下に、ウィンドウの中央配置、タイトルの表示、ウィンドウのフィット、メニューバーやツールバーの非表示、ページレイアウト、ページモード、スケーリングモードなどを設定できるメソッドをいくつか備えています。以下は、閲覧環境の設定に関する詳細な手順である。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ファイルを読み込みます。
  • PdfDocument.getViewerPreferences() メソッドを使用して、ドキュメントの閲覧環境の設定を取得します。
  • PdfViewerPreferences オブジェクトの下にあるメソッドを使用して、閲覧環境を設定します。
  • PdfDocument.saveToFile() メソッドを使用して、ファイルを保存します。
  • Java
import com.spire.pdf.*;

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

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

        //PDFファイルを読み込む
        pdf.loadFromFile("C:/例.pdf");

        //ドキュメントの閲覧環境の設定を取得する
        PdfViewerPreferences preferences = pdf.getViewerPreferences();

        //閲覧環境を設定する
        preferences.setCenterWindow(true);
        preferences.setDisplayTitle(false);
        preferences.setFitWindow(true);
        preferences.setHideMenubar(true);
        preferences.setHideToolbar(true);
        preferences.setPageLayout(PdfPageLayout.Single_Page);
        //preferences.setPageMode(PdfPageMode.Full_Screen);
        //preferences.setPrintScaling(PrintScalingMode.App_Default);

        //ファイルを保存する
        pdf.saveToFile("閲覧環境の設定.pdf");
    }
}

Java:PDF の閲覧環境を設定する方法

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

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

Published in 文書操作

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

PDF ドキュメントのプロパティを設定する

PDF のプロパティを設定する詳細な手順は以下のとおりです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfDocument.getDocumentInformation() メソッドが返す DocumentInformation オブジェクトの下のメソッドを使用して、タイトル、作成者、サブタイトル、キーワード、作成日、更新日、アプリケーション、PDF 変換などのドキュメントプロパティを設定します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.*;
import java.util.Date;

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

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

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

        //タイトルを設定する
        pdfDocument.getDocumentInformation().setTitle("PDF(ポータブルドキュメント形式)");

        //Set the author
        pdfDocument.getDocumentInformation().setAuthor("穂波 たまえ");

        //サブタイトルを設定する
        pdfDocument.getDocumentInformation().setSubject("PDFの紹介");

        //キーワードを設定する
        pdfDocument.getDocumentInformation().setKeywords("PDF、ドキュメント形式");

        //作成日を設定する
        pdfDocument.getDocumentInformation().setCreationDate(new Date());

        //作成者を設定する
        pdfDocument.getDocumentInformation().setCreator("穂波 たまえ");

        //更新日を設定する
        pdfDocument.getDocumentInformation().setModificationDate(new Date());

        //PDF変換を設定する
        pdfDocument.getDocumentInformation().setProducer("Spire.PDF for Java");

        //ドキュメントを保存する
        pdfDocument.saveToFile("PDFのプロパティの設定.pdf");
    }
}

Java:PDF のプロパティの設定・取得方法

PDF ドキュメントのプロパティを取得する

PDF のプロパティを取得する詳細な手順は、以下の通りです。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • StringBuilder クラスのインスタンスを作成し、ドキュメントのプロパティの値を格納します。
  • PdfDocument.getDocumentInformation() メソッドから返された DocumentInformation オブジェクトのメソッドを使用してプロパティを取得し、それらを StringBuilder に格納します。
  • File.createNewFile() メソッドを使用して新しい TXT ファイルを作成します。
  • BufferedWriter.write() メソッドを使って、StringBuilder を TXT ファイルに書き込みます。
  • Java
import com.spire.pdf.*;
import java.io.*;

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

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

        //PDFドキュメントを読み込む
        pdf.loadFromFile("PDFのプロパティの設定.pdf");

        //ドキュメントのプロパティの値を格納するための StringBuilder クラスのインスタンスを作成する
        StringBuilder stringBuilder = new StringBuilder();

        //プロパティの値を取得し、StringBuilder に格納する
        stringBuilder.append("タイトル: " + pdf.getDocumentInformation().getTitle() + "\r\n");
        stringBuilder.append("作成者: " + pdf.getDocumentInformation().getAuthor() + "\r\n");
        stringBuilder.append("サブタイトル: " + pdf.getDocumentInformation().getSubject() + "\r\n");
        stringBuilder.append("キーワード: " + pdf.getDocumentInformation().getKeywords() + "\r\n");
        stringBuilder.append("アプリケーション: " + pdf.getDocumentInformation().getCreator() + "\r\n");
        stringBuilder.append("作成日: " + pdf.getDocumentInformation().getCreationDate() + "\r\n");
        stringBuilder.append("PDF変換: " + pdf.getDocumentInformation().getProducer() + "\r\n");

        //TXTファイルを新規に作成する
        File file = new File("PDFのプロパティの取得.txt");
        file.createNewFile();

        //StringBuilder をTXTファイルに書き込む
        FileWriter fileWriter = new FileWriter(file, true);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        bufferedWriter.write(stringBuilder.toString());
        bufferedWriter.flush();
    }
}

Java:PDF のプロパティの設定・取得方法

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

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

Published in 文書操作
1 / 2