JavaのPDF画像の追加、置換、削除

##（一）概要

この記事では、JavaにPDFドキュメントの画像を追加、削除、置換することを紹介します。

#### ツールの使用:
- Free Spire.PDF for JAVA 2.4.4（無料版）
- Intellij IDEA
 
#### Jarファイルパッケージをインポート:
**方式1：** まず、[公式サイト](https://www.e-iceblue.com/Download/pdf-for-java-free.html)からFree Spire.PDF for JAVAを取得した後、圧縮を解除します。以下はIDEAでProject Structureを簡単に開く3つの方法です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/98311fc0-81ad-1894-2e50-0d669887490f.png)
その後、以下の手順で操作を行います。①「Modules」－「Dependencies」を選択し、外付けjarパッケージを追加します。②「Attach File or Directores」画面に入ってjarファイルのパスを選択し、「OK」をクリックします。次の図のように:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/d841688e-1b31-c542-13fb-a5e0efec05d0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/ea124e54-7451-99e9-becf-6748c3799502.png)
**方式二：** Mavenを使ってjarパッケージを配置する。[導入方法](https://www.e-iceblue.com/Tutorials/Licensing/How-to-install-Spire.PDF-for-Java-from-Maven-Repository.html)を参考にすることができます。

テストドキュメント:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/6fbdfbd8-4cc4-e25e-1474-f43d1dc8c4db.png)
##（二）JAVAコード例
### 1. PDFに画像を追加する
```java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

public class drawImage {
    public static void main(String[] args) {
	//create the PDF
        PdfDocument doc = new PdfDocument();
	//Load the PDF sample file
        doc.loadFromFile("data/Sample.pdf");
        //Get the first page
        PdfPageBase page = doc.getPages().get(0);
        drawImageMethod(page);
        //Save the file
        doc.saveToFile("output/drawImage.pdf");
        doc.close();
    }
    private static void drawImageMethod(PdfPageBase page) {
        //Add the image
        PdfImage image = PdfImage.fromFile("data/1.png");
        float width = image.getWidth() * 0.3f;
        float height = image.getHeight() * 0.3f;
      //Get the location of image
        page.getCanvas().drawImage(image, 420,100, width, height);
    }
}
```
結果を追加:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/101b78d9-cc02-13ee-372a-33fa098f6c54.png)
### 2. PDFの中の画像を置換する
```java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;

import java.io.IOException;

public class ReplaceImage {
    public static void main(String[] args) throws IOException {
	//Create the PDF
        PdfDocument pdf = new PdfDocument();
	//Load the PDF sample file
        pdf.loadFromFile("data/Sample.pdf");
        //Get the first page
        PdfPageBase page = pdf.getPages().get(0);
        //Load the image
        PdfImage image = PdfImage.fromFile("data/1.png");
        //Replace the first image of the first page
        page.replaceImage(0, image);
        //Save the file
        pdf.saveToFile("ImageReplace.pdf");
    }
}
```
置換結果:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/6fd398bf-e73a-1d48-4353-d42a23b2cfd5.png)
### 3. PDFの画像を削除する

```java
import com.spire.pdf.*;
public class deleteImage {
    public static void main(String[] args) {
	//Create the PDF
        PdfDocument doc = new PdfDocument();
	//Load the PDF sample file
        doc.loadFromFile("data/Sample.pdf");
        //Get the first page
        PdfPageBase page = doc.getPages().get(0);
        //Delete the first page of the first page
        page.deleteImage(0);
        doc.saveToFile("output/ImageDelete.pdf");
        doc.close();
    }
}
```
結果を削除:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/6ad304b9-0ae4-cfbb-5c77-238cf399f851.png)
（本文が終わる）