Javaを使用して、lowagieを使い、テンプレートに基づいてPDFを動的に生成します。
lowagieを使用してテンプレートに基づいてPDFを動的に生成するには、以下の手順に従ってください。
- 最初に、lowagie公式サイトからiTextライブラリのjarファイルをダウンロードし、それをJavaプロジェクトのclasspathに追加する必要があります。
- Javaクラスを作成してPDFを生成する。以下のコードを使用して始めることができます。
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfGenerator {
public static void main(String[] args) {
try {
// 读取模板文件
PdfReader reader = new PdfReader("template.pdf");
// 创建输出文件
FileOutputStream fileOutputStream = new FileOutputStream("output.pdf");
// 创建PDF文档对象
Document document = new Document();
// 创建PDF写入器
PdfStamper stamper = new PdfStamper(reader, fileOutputStream);
// 在模板的指定位置插入动态内容
// 使用AcroFields类可以获取模板中的表单域,然后根据需要设置内容
// 例如:stamper.getAcroFields().setField("fieldName", "fieldValue");
// 关闭PDF写入器和输出流
stamper.close();
fileOutputStream.close();
} catch (IOException | DocumentException e) {
e.printStackTrace();
}
}
}
- コード内では、PdfReaderを使用してテンプレートファイルを読み込み、その後PdfStamperを使用して新しいPDFファイルを生成する必要があります。AcroFieldsクラスを使用して、テンプレート内のフォームフィールドを取得し、必要に応じてコンテンツを設定できます。
- 実際のテンプレートファイルと出力ファイルのパスに対応するように、「template.pdf」と「output.pdf」を変更してください。
- コードを実行すると、テンプレートに基づいて新しいPDFファイルが生成されます。
lowagieライブラリは現在サポートされていないため、PDFを作成する際にはiText 7の使用をお勧めします。iText 7は最新バージョンであり、機能が強化され、より使いやすくなっています。