LoginSignup
0
0

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-01-14

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

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

  1. Mavenリポジトリーのインポート:Mavenプロジェクトを作成することにより、pom.xmlファイルでMavenリポジトリー・パスを構成し、次のようにFree Spire.PDF for JavaのMaven依存関係を指定します。
com.e-iceblue http://repo.e-iceblue.com/repository/maven-public/ e-iceblue spire.pdf.free 4.4.1 構成が完了したら、「変更のインポート」をクリックしてJarファイルをインポートします。

Jarのインポート結果は次のとおりです。
01.png

##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();
    }
}

タイル画像の背景(透かし)を設定した結果はこのように:
02.png

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0