ホームページ >Java >&#&チュートリアル >Java開発スキルが明らかに:PDF文書処理機能の実装

Java開発スキルが明らかに:PDF文書処理機能の実装

WBOY
WBOYオリジナル
2023-11-20 13:45:341208ブラウズ

Java開発スキルが明らかに:PDF文書処理機能の実装

Java 開発スキルを明らかに: PDF ドキュメント処理機能の実装

PDF (Portable Document Format) は、クロスプラットフォームおよびフォーマット保持機能を備えた、広く使用されている電子ドキュメント形式です。そして安全上の利点。 Java 開発では、PDF ドキュメントを処理する機能を実装することが一般的な要件です。この記事では、開発者が PDF ドキュメント処理機能を実装するのに役立つ Java 開発テクニックをいくつか紹介します。

1. PDF ドキュメント処理ライブラリのインポート

Java 開発では、いくつかのサードパーティ ライブラリを使用して、iText、PDFBox などの PDF ドキュメント処理機能を実装できます。これらのライブラリは、PDF ドキュメントからコンテンツを簡単に作成、読み取り、変更、抽出できる豊富な API を提供します。

これらのライブラリを使用するには、対応する JAR ファイルをプロジェクトにインポートする必要があります。最新バージョンの JAR ファイルを公式 Web サイトからダウンロードし、プロジェクトの依存関係に追加できます。

2. PDF ドキュメントの作成

iText ライブラリを使用して PDF ドキュメントを簡単に作成します。簡単なサンプル コードを次に示します。

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class CreatePDF {
    public static void main(String[] args) {
        Document document = new Document();
        try {
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("sample.pdf"));
            document.open();
            document.add(new Paragraph("Hello World!"));
            document.close();
            writer.close();
            System.out.println("PDF created successfully!");
        } catch (DocumentException | FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

上記のコードは、「sample.pdf」という名前の PDF ドキュメントを作成し、それに段落を追加します。

3. PDF ドキュメントの読み取り

PDFBox ライブラリを使用すると、PDF ドキュメントの内容を簡単に読み取ることができます。以下は簡単なサンプル コードです。

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.IOException;

public class ReadPDF {
    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load(new File("sample.pdf"));
            PDFTextStripper stripper = new PDFTextStripper();
            String content = stripper.getText(document);
            System.out.println("PDF content: " + content);
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードは、「sample.pdf」ドキュメントの内容を読み取り、それをコンソールに出力します。

4. PDF ドキュメントの変更

iText ライブラリを使用すると、PDF ドキュメントのコンテンツを簡単に変更できます。簡単なサンプル コードを次に示します。

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class ModifyPDF {
    public static void main(String[] args) {
        try {
            PdfReader reader = new PdfReader("sample.pdf");
            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("modified.pdf"));
            Paragraph paragraph = new Paragraph("Modified content");
            stamper.getOverContent(1).add(paragraph);
            stamper.close();
            reader.close();
            System.out.println("PDF modified successfully!");
        } catch (IOException | DocumentException e) {
            e.printStackTrace();
        }
    }
}

上記のコードは、「sample.pdf」ドキュメントを開き、最初のページに段落を追加し、変更されたドキュメントを「modified.pdf」として保存します。

5. PDF ドキュメントのコンテンツを抽出する

PDFBox ライブラリを使用すると、PDF ドキュメントのコンテンツを簡単に抽出できます。簡単なサンプル コードを次に示します。

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripperByArea;
import org.apache.pdfbox.text.TextPosition;

import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.IOException;

public class ExtractContent {
    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load(new File("sample.pdf"));
            PDFTextStripperByArea stripper = new PDFTextStripperByArea() {
                @Override
                protected void writePage() throws IOException {
                    // do nothing
                }

                @Override
                protected void writeString(String string, List<TextPosition> textPositions) throws IOException {
                    for (TextPosition text : textPositions) {
                        Rectangle2D.Float boundingBox = new Rectangle2D.Float(text.getX(), text.getY(), text.getWidth(), text.getHeight());
                        graphics.setColor(Color.RED);
                        graphics.fill(boundingBox);
                    }
                }
            };
            stripper.extractRegions(document.getPage(0));
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードは、「sample.pdf」ドキュメントの最初のページからコンテンツを抽出し、各文字の周囲に赤い四角形を描画します。

概要:

この記事では、開発者が PDF ドキュメントの処理機能を理解するのに役立つ Java 開発テクニックをいくつか紹介します。 PDF文書処理ライブラリをインポートし、PDF文書内のコンテンツの作成、読み取り、変更、抽出を行うことで、さまざまなニーズに合わせて柔軟にPDF文書を処理できます。この記事がお役に立てば幸いです!

以上がJava開発スキルが明らかに:PDF文書処理機能の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。