C#を使用してPDFを線形化されたPDFに変換する方法

線形化されたPDFファイルとは、インターネット上でより迅速に表示できるPDFファイルの特別な形式の一種です。線形化されたPDFはドキュメントのページ数が多い場合、高速でブラウジングできるという利点がより際立っています。以下は、バックエンドの.NETプログラムを介してPDFファイルを線形化されたPDFに変換する方法です。

 

プログラム環境

Visual Studio 2017

.NET Framework 4.6.1

Spire.PDF for .NET 8.1

 

手順および具体的な方法

手順1.PDFプラグインをインストールします。次の2つの方法でインストールまたは参照を実行できます。

 

方法1NuGet検索を介してインストールします。Visual Studioで「ソリューションエクスプローラー」を開き、「参照」を右クリックして「NuGetパッケージの管理」を選択し、開いたインターフェイスで以下の画像に従ってインストールを実装します。

f:id:uha_noki:20220121111617p:plain

f:id:uha_noki:20220121111629p:plain

f:id:uha_noki:20220121111640p:plain

方法2dllを手動で参照に追加します。Spire.PDF for .NETをローカルにダウンロードして解凍し、BINフォルダーでdllファイルを見つけ、画像に示す手順を参照してVisual Studioプログラムへの参照を追加します。

f:id:uha_noki:20220121111659p:plain

f:id:uha_noki:20220121111722p:plain

手順2.次のようなコードを編集して変換を実現します。

C#

using Spire.Pdf.Conversion;

 

namespace ToLinearlizedPDF

{

    class Program

    {

        static void Main(string[] args)

        {

            //PDFドキュメントをロードする

            PdfToLinearizedPdfConverter converter = new PdfToLinearizedPdfConverter("C:\\Users\\Administrator\\Desktop\\test.pdf");

            //線形化PDFに変換する

            converter.ToLinearizedPdf("Linearized.pdf");

        }

    }

}

 

VB.NET

 

Imports Spire.Pdf.Conversion

 

Namespace ToLinearlizedPDF

    Class Program

        Shared Sub Main(ByVal args() As String)

            'PDFドキュメントをロードする

            Dim converter As PdfToLinearizedPdfConverter = New PdfToLinearizedPdfConverter("C:\\Users\\Administrator\\Desktop\\test.pdf")

            '線形化PDFに変換する

            converter.ToLinearizedPdf("Linearized.pdf")

        End Sub

    End Class

End Namespace

プログラムを実行した後、生成されたドキュメントはプログラム実行パスに保存されます(ファイルパスはカスタマイズできます)。PDFが線形化されたPDFであるかどうかを確認するには、PDFファイルを開いた後、以下の画像に示すように、「ファイル」-「プロパティ」で表示できます。

f:id:uha_noki:20220121111748p:plain

f:id:uha_noki:20220121111758p:plain

以上は今回のPDFを線形化PDFに変換する方法です、最後まで読んでいただきありがとうございます。

Javaを通してPDFをPDF / Aに変換する方法

PDF形式をPDF / A形式に変換することにより、ドキュメントのレイアウト、フォーマット、フォント、サイズなどが変更されないように保護し、ドキュメントの読み取りとアクセスを保証しながら、ドキュメントのセキュリティ保護の目的を達成できます。この記事では、Javaバックエンドプログラムコードを使用してPDFをPDF / A1A、2A、3A、1B、2B、および3B標準に変換する方法を示します。以下は、その方法と手順です。

f:id:uha_noki:20220119103331p:plain

f:id:uha_noki:20220119103342p:plain

f:id:uha_noki:20220119103352p:plain

jarパッケージのインポート

Spire.Pdf.jarはこのプログラムにインポートされます。ダウンロードとインポートを実装するために、Mavenプログラムでpom.xmlの次のコンテンツを構成できます。

<repositories>

    <repository>

        <id>com.e-iceblue</id>

        <name>e-iceblue</name>

        <url>https://repo.e-iceblue.com/repository/maven-public/

    </repository>

</repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

または、Jarをローカルにダウンロードして解凍し、libフォルダーでjarファイルを見つけてから、Javaプログラムで次の操作を実行して手動でインポートすることもできます。

PDFをPDF / Aに変換する

次の表に示すように、Spire.PDF for JavaのPdfStandardsConverterクラスは、PDFをネイティブPDF / Aファイルおよびストリームファイルに変換できるさまざまなメソッドを列挙します。

メソッド

解釈

PdfStandardsConverter.toPdfA1A(String filePath)

指定したパスPDF/A1Aとして保存する

PdfStandardsConverter.toPdfA1A(OutputStream stream)

ストリーミングにPDF/A1Aとして保存する

PdfStandardsConverter.toPdfA1B (String filePath)

指定したパスPDF/A1Bとして保存する

PdfStandardsConverter.toPdfA1B(OutputStream stream)

ストリーミングにPDF/A1Bとして保存する

PdfStandardsConverter.toPdfA2A(String filePath)

指定したパスにPDF/A2Aとして保存する

PdfStandardsConverter.toPdfA2A(OutputStream stream)

ストリーミングにPDF/A2Aとして保存する

PdfStandardsConverter.toPdfA2B(String filePath)

指定したパスにPDF/A2Bとして保存する

PdfStandardsConverter.toPdfA2B(OutputStream stream)

ストリーミングにPDF/A2Bとして保存する

PdfStandardsConverter.toPdfA3A(String filePath)

指定したパスにPDF/A3Aとして保存する

PdfStandardsConverter.toPdfA3A(OutputStream stream)

ストリーミングにPDF/A3Aとして保存する

PdfStandardsConverter.toPdfA3B(String filePath)

指定したパスにPDF/A3Bとして保存する

PdfStandardsConverter.toPdfA3B(OutputStream stream)

ストリーミングにPDF/A3Bとして保存して

フォーマット変換を実現するには、それを完了するために必要なコードは2行だけで、ターゲットのPDF / Aフォーマットが取得できます。変換を実装するためのコードサンプル手順は次のとおりです。

 

  1. PdfStandardsConverterクラスのオブジェクトをインスタンス化し、PDFソースドキュメントをロードします。
  2. 上記の表で指定されたメソッドを呼び出して、PDFを指定された標準形式のPDF / Aに変換し、保存します。

 

Javaコード一覧

import com.spire.pdf.conversion.PdfStandardsConverter;

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

        //PdfStandardsConverterクラスのオブジェクトを作成し、ドキュメントパスを渡す
       
PdfStandardsConverter converter = new PdfStandardsConverter("C:\\Users\\Administrator\\Desktop\\sample.pdf");
        //PdfA1Aに変換する
       
converter.toPdfA1A("ToPdfA1A.pdf");
        //PdfA1Bに変換する
       
converter.toPdfA1B("ToPdfA1B.pdf");
        //PdfA2Aに変換する
       
converter.toPdfA2A("ToPdfA2A.pdf");
        //PdfA2Bに変換する
       
converter.toPdfA2B( "ToPdfA2B.pdf");
        //PdfA3Aに変換する
       
converter.toPdfA3A( "ToPdfA3A.pdf");
        //PdfA3Bに変換する
       
converter.toPdfA3B( "ToPdfA3B.pdf");
    }
}

PDF/A形式の変換効果は以下のように:

f:id:uha_noki:20220119103435p:plain

今回のPDFからPDF/A形式に変換する方法は以上でした。最後まで読んでいただきありがとうございます。

Javaを使用してPDFでテキストの回転と傾きを設定する

この記事では、Javaプログラムを使用してPDFドキュメントのテキストの回転と傾きを設定する方法を紹介します。テキストの傾きを設定するときは、メソッドTransformText(page);を定義し、page.getCanvas().skewTransform(float angleX、float angleY);を設定して、テキストの傾きを実現します。テキストの回転を設定するときは、メソッドRotateText(page)を定義します。 ;そしてpage.getCanvas()。rotateTransform(float angle);を設定して、テキストの回転を実現します。詳細なコードについて以下の内容をご参照ください。

 

注:PDFクラスライブラリツールSpire.PDF for Javaを使用する必要があります。jarパッケージをダウンロードするか、libフォルダー内のjarファイルを解凍してjavaプログラムにインポートするか、mavenリポジトリからダウンロードしてインポートできます。

 

Javaコード一覧

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class TextStyle {
    public static void main(String[] args) {
        //PDFドキュメントを作成しページを追加する
       
PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.appendPage();

        //テキストを斜体に設定する
       
TransformText(page);

        //テキストを回転する
       
RotateText(page);

        //ドキュメントを保存する
       
pdf.saveToFile("C:\\Users\\Administrator\\Desktop\\DrawText.pdf",FileFormat.PDF);
        pdf.close();
    }

    //カスタムメソッドでページにテキストを追加し、テキストオフセットを設定する
   
private static void TransformText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する
       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f);//フォント、フォントサイズなどのフォントを作成する

       
//3つのブラシを作成し、色を割り当てる
       
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(new Color(60,179,113)));
        PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(new Color(139,0,139)));
        PdfSolidBrush brush3 = new PdfSolidBrush(new PdfRGBColor(new Color(205,92,92)));

        page.getCanvas().translateTransform(20,120);//キャンバス内のテキストの座標位置を設定する
       
page.getCanvas().scaleTransform(1f,1f);//テキストサイズを設定する(scaleX値が大きいほど、テキストは右に水平方向に引き伸ばされる。scaleY値が大きいほど、テキストは垂直方向に上向きに引き伸ばされる)
       
page.getCanvas().skewTransform(-10,0);//テキストのたわみ角度を設定する(angleX値は全体的なテキストオフセット角度、angleY値は文字オフセット角度です)
       
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0);//テキストを描く

       
page.getCanvas().skewTransform(10, 10);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0);//テキストを描く

       
page.getCanvas().scaleTransform(1f, -2f);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush3, 0, -2 * 18);//テキストを描く

       
//キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
    //カスタムメソッドでページにテキストを追加し、テキストの回転を設定する
   
private static void RotateText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する

       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);//フォントを作成する
       
PdfSolidBrush brush4 = new PdfSolidBrush(new PdfRGBColor(139,69,19));//ブラシ4を作成する

       
PdfStringFormat centerAlignment = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);//テキストの配置を設定する

       
//キャンバス内のテキストの座標位置を指定する
       
float x = (float) (page.getCanvas().getClientSize().getWidth()/2);
        float y = 390;
        page.getCanvas().translateTransform(x,y);

        //ループ内に12個のテキストコンテンツを描画し、各テキストコンテンツの間隔を30度に設定する。つまり、各テキストコンテンツは、前に描画されたテキストコンテンツから30度回転する
       
for (int i = 0; i < 12; i++) {
            page.getCanvas().rotateTransform(30);
            page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush4, 20, 0, centerAlignment);
        }

        //キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
}

f:id:uha_noki:20220118102451p:plain

今回のPDFでテキストの回転と傾きを設定する方法は以上でした。最後まで読んでいただきありがとうございます。

Javaを使用してPDFでテキストの回転と傾きを設定する

この記事では、Javaプログラムを使用してPDFドキュメントのテキストの回転と傾きを設定する方法を紹介します。テキストの傾きを設定するときは、メソッドTransformText(page);を定義し、page.getCanvas().skewTransform(float angleX、float angleY);を設定して、テキストの傾きを実現します。テキストの回転を設定するときは、メソッドRotateText(page)を定義します。 ;そしてpage.getCanvas()。rotateTransform(float angle);を設定して、テキストの回転を実現します。詳細なコードについて以下の内容をご参照ください。

 

注:PDFクラスライブラリツールSpire.PDF for Javaを使用する必要があります。jarパッケージをダウンロードするか、libフォルダー内のjarファイルを解凍してjavaプログラムにインポートするか、mavenリポジトリからダウンロードしてインポートできます。

 

Javaコード一覧

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class TextStyle {
    public static void main(String[] args) {
        //PDFドキュメントを作成しページを追加する
       
PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.appendPage();

        //テキストを斜体に設定する
       
TransformText(page);

        //テキストを回転する
       
RotateText(page);

        //ドキュメントを保存する
       
pdf.saveToFile("C:\\Users\\Administrator\\Desktop\\DrawText.pdf",FileFormat.PDF);
        pdf.close();
    }

    //カスタムメソッドでページにテキストを追加し、テキストオフセットを設定する
   
private static void TransformText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する
       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f);//フォント、フォントサイズなどのフォントを作成する

       
//3つのブラシを作成し、色を割り当てる
       
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(new Color(60,179,113)));
        PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(new Color(139,0,139)));
        PdfSolidBrush brush3 = new PdfSolidBrush(new PdfRGBColor(new Color(205,92,92)));

        page.getCanvas().translateTransform(20,120);//キャンバス内のテキストの座標位置を設定する
       
page.getCanvas().scaleTransform(1f,1f);//テキストサイズを設定する(scaleX値が大きいほど、テキストは右に水平方向に引き伸ばされる。scaleY値が大きいほど、テキストは垂直方向に上向きに引き伸ばされる)
       
page.getCanvas().skewTransform(-10,0);//テキストのたわみ角度を設定する(angleX値は全体的なテキストオフセット角度、angleY値は文字オフセット角度です)
       
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0);//テキストを描く

       
page.getCanvas().skewTransform(10, 10);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0);//テキストを描く

       
page.getCanvas().scaleTransform(1f, -2f);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush3, 0, -2 * 18);//テキストを描く

       
//キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
    //カスタムメソッドでページにテキストを追加し、テキストの回転を設定する
   
private static void RotateText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する

       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);//フォントを作成する
       
PdfSolidBrush brush4 = new PdfSolidBrush(new PdfRGBColor(139,69,19));//ブラシ4を作成する

       
PdfStringFormat centerAlignment = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);//テキストの配置を設定する

       
//キャンバス内のテキストの座標位置を指定する
       
float x = (float) (page.getCanvas().getClientSize().getWidth()/2);
        float y = 390;
        page.getCanvas().translateTransform(x,y);

        //ループ内に12個のテキストコンテンツを描画し、各テキストコンテンツの間隔を30度に設定する。つまり、各テキストコンテンツは、前に描画されたテキストコンテンツから30度回転する
       
for (int i = 0; i < 12; i++) {
            page.getCanvas().rotateTransform(30);
            page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush4, 20, 0, centerAlignment);
        }

        //キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
}

f:id:uha_noki:20220118102451p:plain

今回のPDFでテキストの回転と傾きを設定する方法は以上でした。最後まで読んでいただきありがとうございます。

Javaを使用してPDFでテキストの回転と傾きを設定する

この記事では、Javaプログラムを使用してPDFドキュメントのテキストの回転と傾きを設定する方法を紹介します。テキストの傾きを設定するときは、メソッドTransformText(page);を定義し、page.getCanvas().skewTransform(float angleX、float angleY);を設定して、テキストの傾きを実現します。テキストの回転を設定するときは、メソッドRotateText(page)を定義します。 ;そしてpage.getCanvas()。rotateTransform(float angle);を設定して、テキストの回転を実現します。詳細なコードについて以下の内容をご参照ください。

 

注:PDFクラスライブラリツールSpire.PDF for Javaを使用する必要があります。jarパッケージをダウンロードするか、libフォルダー内のjarファイルを解凍してjavaプログラムにインポートするか、mavenリポジトリからダウンロードしてインポートできます。

 

Javaコード一覧

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class TextStyle {
    public static void main(String[] args) {
        //PDFドキュメントを作成しページを追加する
       
PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.appendPage();

        //テキストを斜体に設定する
       
TransformText(page);

        //テキストを回転する
       
RotateText(page);

        //ドキュメントを保存する
       
pdf.saveToFile("C:\\Users\\Administrator\\Desktop\\DrawText.pdf",FileFormat.PDF);
        pdf.close();
    }

    //カスタムメソッドでページにテキストを追加し、テキストオフセットを設定する
   
private static void TransformText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する
       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f);//フォント、フォントサイズなどのフォントを作成する

       
//3つのブラシを作成し、色を割り当てる
       
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(new Color(60,179,113)));
        PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(new Color(139,0,139)));
        PdfSolidBrush brush3 = new PdfSolidBrush(new PdfRGBColor(new Color(205,92,92)));

        page.getCanvas().translateTransform(20,120);//キャンバス内のテキストの座標位置を設定する
       
page.getCanvas().scaleTransform(1f,1f);//テキストサイズを設定する(scaleX値が大きいほど、テキストは右に水平方向に引き伸ばされる。scaleY値が大きいほど、テキストは垂直方向に上向きに引き伸ばされる)
       
page.getCanvas().skewTransform(-10,0);//テキストのたわみ角度を設定する(angleX値は全体的なテキストオフセット角度、angleY値は文字オフセット角度です)
       
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0);//テキストを描く

       
page.getCanvas().skewTransform(10, 10);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0);//テキストを描く

       
page.getCanvas().scaleTransform(1f, -2f);
        page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush3, 0, -2 * 18);//テキストを描く

       
//キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
    //カスタムメソッドでページにテキストを追加し、テキストの回転を設定する
   
private static void RotateText(PdfPageBase page)
    {
        PdfGraphicsState state = page.getCanvas().save();//キャンバスの状態を保存する

       
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);//フォントを作成する
       
PdfSolidBrush brush4 = new PdfSolidBrush(new PdfRGBColor(139,69,19));//ブラシ4を作成する

       
PdfStringFormat centerAlignment = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);//テキストの配置を設定する

       
//キャンバス内のテキストの座標位置を指定する
       
float x = (float) (page.getCanvas().getClientSize().getWidth()/2);
        float y = 390;
        page.getCanvas().translateTransform(x,y);

        //ループ内に12個のテキストコンテンツを描画し、各テキストコンテンツの間隔を30度に設定する。つまり、各テキストコンテンツは、前に描画されたテキストコンテンツから30度回転する
       
for (int i = 0; i < 12; i++) {
            page.getCanvas().rotateTransform(30);
            page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush4, 20, 0, centerAlignment);
        }

        //キャンバスの状態を再度保存する
       
page.getCanvas().restore(state);
    }
}

f:id:uha_noki:20220118102451p:plain

今回のPDFでテキストの回転と傾きを設定する方法は以上でした。最後まで読んでいただきありがとうございます。

Javaを通してPDFタイル画像の背景(透かし)を設定する方法

概要と環境への準備

この記事では、PDFライブラリの無料バージョン(Java用のFree Spire.PDFを使用して画像をロードし、タイル画像の透かしとしても使用できるPDFタイル画像の背景を設定する)の効果を紹介します。コードを編集する前に、 jarファイルをインポートする必要があります。2つのタイプがあります。メソッドはオプションでインポートされます。

 

1.手動でのダウンロードとインポート:公式Webサイトにアクセスしてjarパッケージをダウンロードし、解凍して、libフォルダー内のSpire.Pdf.jarファイルをJavaプログラムにインポートできます。

2.Mavenリポジトリーのインポート:Mavenプロジェクトを作成することにより、pom.xmlファイルでMavenリポジトリー・パスを構成し、次のようにFree Spire.PDF for JavaのMaven依存関係を指定します。

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>http://repo.e-iceblue.com/repository/maven-public/

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId> e-iceblue </groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>4.4.1</version>

    </dependency>

</dependencies>

構成が完了したら、「変更のインポート」をクリックしてJarファイルをインポートします。

 

Jarのインポート効果は次のとおりです。

f:id:uha_noki:20220114110904p:plain

Javaコード一覧

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfTilingBrush;

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

public class AddBackground {
    public static void main(String[] args) {
        //PdfDocumentオブジェクトを作成し、PDFテストドキュメントをロードする
       
PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.pdf");

        //ドキュメントの各ページをトラバースし、画像をロードして、タイル状の背景(透かし)として設定する
       
for (int i = 0; i < pdf.getPages().getCount();i++)
        {
            PdfPageBase page = pdf.getPages().get(i);

            Dimension2D dimension2D = new Dimension();
            dimension2D.setSize(page.getCanvas().getSize().getWidth()/4, page.getCanvas().getSize().getHeight()/3);

            PdfTilingBrush brush = new PdfTilingBrush(dimension2D);
            brush.getGraphics().setTransparency(0.2f);
            brush.getGraphics().translateTransform(brush.getSize().getWidth()/10,brush.getSize().getHeight()/10);
            brush.getGraphics().rotateTransform(30);

            PdfImage image = PdfImage.fromImage("C:\\Users\\Administrator\\Desktop\\logo.png");
            brush.getGraphics().drawImage(image,brush.getSize().getWidth()-image.getWidth()/2,(brush.getSize().getHeight())/2);

            Rectangle2D rectangle2D = new Rectangle2D.Float();
            rectangle2D.setFrame(new Point(0,0),page.getCanvas().getClientSize());

            page.getCanvas().drawRectangle(brush,rectangle2D);
        }
        //ドキュメントを保存する
       
pdf.saveToFile("SetTiledBackground.pdf");
        pdf.dispose();
    }
}

タイル画像の背景(透かし)効果はこのように:

f:id:uha_noki:20220114111509p:plain

以上です、今回のPDFタイル画像の設定方法はここまで、最後まで読んでいただきありがとうございます!

Javaを使用してWord文書に複数のテキスト透かしを追加する方法

頭語

Word文書の透かしについて、皆よく知っているはずです。以前は単一行の透かしを紹介したことがありますが、日常でWordを使用していると、常に複数の透かしを追加しなければならないです。故にこの記事で、Javaを使用してWord文書に複数のテキスト透かしを追加する方法を紹介します。

 

コードのテスト環境

  1. Intellij Idea 2019.1
  2. JDK 1.8.0
  3. Spire.Doc.jar

 

jarパッケージの取得とインポート

方法一:JarパッケージをIDEAに手動でインポートします。具体的な手順は次のとおりです。

ステップ1:E-iceblueの公式Webサイトに登録してログインし、Spire.Doc for Javaダウンロードページにアクセスして製品パッケージをダウンロードします。

ステップ2:製品パッケージを解凍し、libファイルの下でSpire.Doc.jarを見つけます。

ステップ3:Spire.Doc.jarをIDEAに手動でインポートします。

 

方法二:Mavenリポジトリを介して製品と関連する依存関係をインストールおよびインポートします。Mavenアプリケーションを作成し、Mavenリポジトリー・パスを構成して、pom.xmlファイルでSpire.Doc for JavaのMaven依存関係を指定します。

<repositories>

    <repository>

        <id>com.e-iceblue</id>

        <name>e-iceblue</name>

        <url> https://repo.e-iceblue.com/repository/maven-public/

    </repository>

</repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.doc</artifactId>

        <version>4.11.8</version>

    </dependency>

</dependencies>

 

構成が完了したら、IDEAで「変更のインポート」をクリックしてJARパッケージをインポートする必要があります。Eclipseでは、「保存」ボタンをクリックする必要があります。

 

コード一覧

Spire.Doc for Javaは、WordヘッダーにWordArtを追加することにより、ドキュメントに複数行のテキスト透かしを追加することを実装しています。具体的なコードは次のとおりです。

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ShapeLineStyle;
import com.spire.doc.documents.ShapeType;
import com.spire.doc.fields.ShapeObject;
import java.awt.*;
public class multiTextWatermark {
    public static void main(String[] args) {
        //テストドキュメントをロードする
       
Document doc = new Document();
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");
        //WordArtを追加してサイズを設定する
       
ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text);
        shape.setWidth(60);
        shape.setHeight(20);
        //WordArtのテキストコンテンツ、色、位置、スタイルを設定する
       
shape.setVerticalPosition(30);
        shape.setHorizontalPosition(20);
        shape.setRotation(315);
        shape.getWordArt().setText("内部使用");
        shape.setFillColor(Color.green);
        shape.setLineStyle(ShapeLineStyle.Single);
        shape.setStrokeColor(new Color(192, 192, 192, 255));
        shape.setStrokeWeight(1);

        Section section;
        HeaderFooter header;
        for (int n = 0; n < doc.getSections().getCount(); n++) {
            section = doc.getSections().get(n);
            //セクションのヘッダーを取得する
           
header = section.getHeadersFooters().getHeader();
            Paragraph paragraph1;
            for (int i = 0; i < 4; i++) {
                //ヘッダーに段落を追加する
               
paragraph1 = header.addParagraph();
                for (int j = 0; j < 3; j++) {
                    //WordArtを複製し、複数行、複数列の位置を設定する
                   
shape = (ShapeObject) shape.deepClone();
                    shape.setVerticalPosition(50 + 150 * i);
                    shape.setHorizontalPosition(20 + 160 * j);
                    paragraph1.getChildObjects().add(shape);
                }
            }
        }
        //ドキュメントを保存する
       
doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013);
    }
}

f:id:uha_noki:20220112102016p:plain

結語

以上は、Word文書に複数のテキスト透かしを追加する方法でした、最後まで読んでいただきありがとうございます。