사용 사례
이 가이드는 Aspose.PDF FOSS for Java의 실제 사용 사례를 보여줍니다. 여기에는 배치 문서 생성, 파일 병합, 보안 배포, 양식 데이터 수집 및 PDF/A 아카이빙이 포함됩니다. Aspose.PDF FOSS for Java은 PDF 출력(내보내기 전용)을 생성합니다.
배치 PDF 생성
루프에서 데이터를 사용하여 여러 PDF 문서를 생성하고, 레코드당 페이지를 추가한 뒤 각각을 별도의 파일로 저장합니다. 이 패턴은 청구서 생성, 증명서 인쇄 및 명세서 제작에 유용합니다:
List<ReportData> records = fetchReports();
for (ReportData data : records) {
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
doc.save("reports/" + data.getId() + ".pdf");
}
}PDF 병합 파이프라인
PdfFileEditor.concatenate()을(를) 사용하여 월간 보고서 PDF를 하나의 연말 문서로 결합합니다. 입력 파일 경로 배열과 출력 경로를 전달하십시오:
String[] monthly = {
"jan.pdf", "feb.pdf", "mar.pdf", "apr.pdf",
"may.pdf", "jun.pdf", "jul.pdf", "aug.pdf",
"sep.pdf", "oct.pdf", "nov.pdf", "dec.pdf"
};
PdfFileEditor editor = new PdfFileEditor();
editor.concatenate(monthly, "year-end.pdf");대용량 파일 세트를 위해 setUseDiskBuffer(true)으로 디스크 버퍼링을 활성화합니다:
editor.setUseDiskBuffer(true);보안 문서 배포
배포 전에 문서를 사용자 비밀번호와 소유자 비밀번호로 암호화합니다. 사용자 비밀번호는 파일을 열기 위해 필요하고; 소유자 비밀번호는 인쇄와 같은 권한을 제어합니다:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}양식 데이터 수집
작성된 PDF에서 제출된 양식 필드 값을 읽습니다. 양식 필드를 순회하면서 각 필드의 전체 이름과 현재 값을 출력합니다:
try (Document doc = new Document("submitted-form.pdf")) {
Form form = doc.getForm();
for (WidgetAnnotation field : form.getFields()) {
System.out.println(field.getFullName() + " = " + field.getValue());
}
}이는 별도의 양식 제출 서버 없이 작성된 신청서를 처리하는 데 유용합니다.
PDF/A 장기 보관
표준 문서를 규제 또는 법적 보관을 위해 PDF/A-1b 로 변환합니다. Document.convert()은 PDF/A 검증 규칙을 적용하고 적합성 보고서를 작성합니다. 결과는 ISO 19005 요구사항을 충족하는 자체 포함된 PDF/A 파일입니다:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}