画像を挿入、置換、削除または抽出する方法


テキストと比較して、イメージは通常意味を伝えて、PDF文書をより魅力的にするのがより簡単です.画像をPDFで重要な役割を果たしているので、挿入、置換、削除、またはPDFから画像を抽出する方法を知ることは、あらゆる開発者にとって本当の利益になることができます.この記事では、CFree Spire.PDF for .NET .
  • Insert an Image to PDF at a Specified Location
  • Replace an Image in PDF with Another Image
  • Remove a Specified Image in PDF
  • Extract images from PDF
  • 尖塔を加える。PDFファイル。依存関係の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.free</artifactId>
            <version>5.1.0</version>
        </dependency>
    </dependencies>
    
    あなたがMavenを使用していないなら、あなたはthis location . このチュートリアルで与えられたサンプルコードを実行するには、すべてのJARファイルをアプリケーションlibフォルダに含めます.

    指定した場所にPDFに画像を挿入する


    DrawImage ()メソッドを使用して、指定した幅と高さの画像をPDFページの指定した位置に描画します.したがって、図面の前に事前に画像をリサイズする必要はありません.Javaでの新しいPDFドキュメントにイメージを挿入する主な手順は次のとおりです.
  • PDFDocumentオブジェクトを作成します.
  • PDFDocumentを使用してPDFにページを追加します.getPages ().add ()メソッド.
  • PDFImageを使用して画像を読み込みます.fromfile ()メソッド.
  • ページのイメージサイズと位置を指定します.
  • PDFabageBaseを使用してページに画像を描画します.GetCanvas .drawimagic ()メソッド.
  • PDFファイルにドキュメントを保存します.
  • import com.spire.pdf.FileFormat;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.PdfPageBase;
    import com.spire.pdf.graphics.PdfImage;
    
    public class InsertImage {
    
        public static void main(String[] args) {
    
            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();
    
            //Set page margins
            doc.getPageSettings().setMargins(30);
    
            //Add a page
            PdfPageBase page = doc.getPages().add();
    
            //Load an image from path
            PdfImage image = PdfImage.fromFile("C:\\Users\\Administrator\\Desktop\\java-logo.jpg");
    
            //Specify the image width and height in PDF
            float width = image.getWidth() * 0.5f;
            float height = image.getHeight() * 0.5f;
    
            //Specify a position to draw image
            double x = 0f;
            float y = 0f;
    
            //Draw image on page canvas
            page.getCanvas().drawImage(image, x, y, width, height);
    
            //Save the document
            doc.saveToFile("output/InsertImage.pdf", FileFormat.PDF);
        }
    }
    

    PDFで画像を別の画像と置換する


    PDFで画像を置換するには、replaceImage ()メソッドを使用します.このメソッドは、自動的に取り替えられた他の要素の読みやすさに影響を与えるように新しいイメージを置換します.以下はその手順です.
  • PDFDocumentオブジェクトを作成します.
  • PDFDocumentを使用して既存のPDF文書を読み込みます.loadFromfile ()メソッド.
  • PDFDocumentを使用して特定のページを取得します.getPages ().get ()メソッド.
  • PDFImageを使用して画像を読み込みます.fromfile ()メソッド.
  • ドキュメント内の特定の画像をPDFDocumentを使用して新しいイメージに置き換えます.replace ()メソッド.
  • PDFファイルにドキュメントを保存します.
  • import com.spire.pdf.FileFormat;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.PdfPageBase;
    import com.spire.pdf.graphics.PdfImage;
    
    public class ReplaceImage {
        public static void main(String[] args) {
    
            //Load the PDF file
            PdfDocument doc = new PdfDocument();
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
    
            //Get the first page
            PdfPageBase page = doc.getPages().get(0);
    
            //Load an image
            PdfImage image = PdfImage.fromFile("C:\\Users\\Administrator\\Desktop\\java-logo.png");
    
            //Replace the first image in the first page with the loaded image
            page.replaceImage(0, image);
    
            //Save the file
            doc.saveToFile("output/ReplaceImage.pdf", FileFormat.PDF);
        }
    }
    

    指定した画像をPDFで削除する


    PDFドキュメントのイメージは、delete ()メソッドを使用して簡単に削除できます.ここにステップ.
  • * PDFDocument * *オブジェクトを作成します.
  • PDFDocumentを使用して既存のPDF文書を読み込みます.loadFromfile ()メソッド.
  • PDFDocumentを使用して特定のページを取得します.getPages ().get ()メソッド.
  • PDFabageBaseを使用してインデックスによって特定のイメージを削除します.DeleteImage(int ImageIndex)メソッド.
  • PDFファイルにドキュメントを保存します.
  • import com.spire.pdf.FileFormat;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.PdfPageBase;
    
    public class RemoveImage {
        public static void main(String[] args) {
    
            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();
    
            //Load the sample PDF file
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
    
            //Get the specified page
            PdfPageBase page = doc.getPages().get(0);
    
            //Delete a particular image by its index
            page.deleteImage(0);
    
            //Save the file
            doc.saveToFile("output/DeleteImage.pdf", FileFormat.PDF);
        }
    }
    

    PDFから画像を抽出


    PDFページのイメージは、Extractimize ()メソッドを使用して抽出できます.以下は、自由な尖塔を使用してPDFドキュメントからすべての画像を抽出する手順です.PDFファイル.
  • PDFDocumentオブジェクトを作成します.
  • PDFDocumentを使用して既存のPDF文書を読み込みます.loadFromfile ()メソッド.
  • PDFDocumentを使用して特定のページを取得します.getPages ().get ()メソッド.
  • ドキュメント内のすべてのページをループし、pdfpageBaseを使用します.特定のページから画像を抽出するメソッドです.
  • ローカルフォルダ内の画像を保存します.PNGファイル.
  • import com.spire.pdf.PdfDocument;
    import com.spire.pdf.PdfPageBase;
    
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class ExtractImages {
    
        public static void main(String[] args) throws IOException {
    
            //Create a PdfDocument instance
            PdfDocument doc = new PdfDocument();
    
            //Load a PDF sample file
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
    
            //Declare an int variable
            int index = 0;
    
            //Loop through all pages
            for (Object page : doc.getPages()) {
    
                 PdfPageBase pageBase = (PdfPageBase) page;
    
                //Extract images from the given page
                for (BufferedImage image : pageBase.extractImages()) {
    
                    //Specify the file path and name
                    File output = new File("C:\\Users\\Administrator\\Desktop\\ExtractedImages\\" + String.format("Image_%d.png", index++));
    
                    //Save images as .png files
                    ImageIO.write(image, "PNG", output);
                }
            }
        }
    }