Java'da PDF Facades ile Nasıl Çalışılır
Yumuşak Annotasyonlar
Tüm notları sayfa içeriği akışına yerleştirin, böylece artık ayrı not nesneleri olarak düzenlenemez veya kaldırılamazlar.Bu bir belgeyi yazdırmadan veya arşivlemeden önce ortak bir adımdır:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}Bookmark kaldırma
Bir belgedeki tüm çıkış işaretlerini silin. kitap işareti (aynı zamanda çıkışı olarak da adlandırılır) PDF okuyucu sayfa çubuğunda görülebilen navigasyon ağaç girişleri:
try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
editor.bindPdf("input.pdf");
editor.deleteBookmarks();
editor.save("no-bookmarks.pdf");
}Yazı değiştirme
Bir belgenin tüm sayfalarında bir çubuk değiştirmek.Bu, bir belgeyi dağıtmadan önce şablon yer tutucularını doldurmak için yararlıdır:
try (PdfContentEditor editor = new PdfContentEditor()) {
editor.bindPdf("template.pdf");
editor.replaceText("{{Date}}", "2026-05-24");
editor.save("output.pdf");
}Bir belgeyi şifrelemek
AES-256 şifreleme ile erişim izinleri kullanarak uygulayın PdfFileSecurity.• The DocumentPrivilege.getForbidAll() -Tüm işlemleri engelleyen preset; bireysel izinler Setter yöntemleri ile yeniden etkinleştirilebilir:
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
priv.setAllowPrint(true);
security.encryptFile("user", "owner", priv, KeySize.x256);
}Çıkış metni
Yazı sayfası üzerinden kullanarak PdfExtractor.Çağrı extractText() Önce işleme Tüm sayfaları, sonra her sayfanın metnini geri getirin. getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String text = extractor.getNextPageText();
System.out.println(text);
}
}