Yorumlar için tıklayınız.pdf FOSS for Java

Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused PDF belgelerinde hedeflenmiş işlemler sağlayan sınıflar navigasyon gerektirmeden Tüm PDF nesne modelinden. her facade sınıfı aynı desenle takip eder: bir İşlemleri yapın, sonuçları kaydedin.

Tüm sınıflar içinde yer almaktadır. org.aspose.pdf.facades Paket için :

import org.aspose.pdf.facades.*;

PdfAnnotationEditor: Yumuşak ve kaldırma Annotasyonları

PdfAnnotationEditor Toplamda notlar için işlemler sağlar: sayfada içeriğe dökülür, tüm notları kaldırır veya kaldırılır. Adı ile belirli not türleri.

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    // Flatten all annotations into the page content stream
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

O zamanlar deleteAnnotations(annotationType) Yüklenme bir not tipi çubuk kabul eder Böylece "Highlight" veya "Widget" Bu tür notları sadece kaldırmak için. countAnnotations() Tüm sayfalar üzerinde toplam not sayısını geri getirir.

PdfBookmarkEditor: Kitapları oluşturun ve silin

PdfBookmarkEditor PDF çıkış ağaçlarını yönetir (kitap işaretleri). Yeni kitaplıklar oluşturmak için, createBookmarks(),Tüm kitapları silinmek için deleteBookmarks(),- Başlık ile kitap işaretlerini kaldırmak deleteBookmarkByTitle().

try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
    bookmarkEditor.bindPdf("input.pdf");
    // Remove all bookmarks from the document
    bookmarkEditor.deleteBookmarks();
    bookmarkEditor.save("no-bookmarks.pdf");
}

O zamanlar bindPdf(document) Yüzey kabul eder A Document Doğrudan, doğrudan ve mümkün olan Belgeyi zaten hafıza içine yüklediği tüplerde kullanın.

PdfContentEditor: Yazı Değiştirme

PdfContentEditor PDF içerik akışları içinde hedefli metin değiştirmeyi destekler. replaceText(searchText, replaceText) Tüm bir çerçeveyi değiştirir. Tüm belgeyi tamamlamak; replaceText(searchText, pageNumber, replaceText) Değiştirme tek bir sayfaya sınırlıdır.

try (PdfContentEditor contentEditor = new PdfContentEditor()) {
    contentEditor.bindPdf("template.pdf");
    contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
    contentEditor.save("output.pdf");
}

TextReplaceOptions - Yerini değiştirmek için orijinalini korumak gerekir. yazı tipi ve boyutu veya çevresindeki içeriğinden metin özellikleri miras. getStamps(pageNumber) Geri dönüş StampInfo Bir sayfada tüm çerçeveler için nesneler, ve deleteStampById() Belirli bir çerçeveyi tanımlayıcı tarafından çıkarır.

PdfFileSecurity: Şifreleme ve izinler

PdfFileSecurity • Doküman düzeyinde güvenlik yönetimi şifreleme, deşifre dahil;, ve erişim izinleri. yapılandırma varyantları dosya yollarını, akışları veya var olan bir Document Üstelik çıkış noktası ile birlikte.

DocumentPrivilege Şifreli belge için erişim izni temsil eder. Kullanım DocumentPrivilege.getForbidAll() Kullanıcıların tüm faaliyetlerini reddetmek veya DocumentPrivilege.getAllowAll() Tam erişim sağlanmaktadır.

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
    privilege.setAllowPrint(true);
    security.encryptFile("userPass", "ownerPass", privilege, KeySize.x256);
}

decryptFile(ownerPassword) Şifreleme, sahibinin şifresini bildiğinde kaldırılır. O zamanlar Algorithm Enum sağlar RC4 ve AES Algoritma aileleri; KeySize Anahtar uzunluğu belirler.

PdfFileStamp: Stamplar ve sayfa numaraları eklemek

PdfFileStamp PDF sayfalarına metin ve görüntü çubuğunu ekler ve otomatik olarak yapabilir. sayfa sayısı oluşturur. çerçeveler koordinat tabanlı olarak konumlandırılır Her sayfada yerleştirme.

try (PdfFileStamp stamp = new PdfFileStamp("input.pdf", "stamped.pdf")) {
    // Add formatted page numbers to all pages
    stamp.addPageNumber("Page #", PageNumberingStyle.NumeralsArabic,
        0, 0, 0, 20);
}

PDFExtractor: Metin ve Görüntü Ekstraksiyonu

PdfExtractor Bir çekme tabanlı API sağlar, metin ve resimlerin çıkarılması için PDF belgeleri. bir belgeyi bağladıktan sonra, arama extractText() Yazı Çekmek için İtraf, sonra iterate ile hasNextPageText() ve getNextPageText():

try (PdfExtractor extractor = new PdfExtractor()) {
    extractor.bindPdf("document.pdf");
    extractor.extractText();
    while (extractor.hasNextPageText()) {
        String pageText = extractor.getNextPageText();
        // Collect extracted page content
    }
}

Görüntü çıkarma için, extractImage() Çekim yapmaya ve hasNextImage() / getNextImage(outputStream) İtraf edilen resimlerin üzerine iterate. O zamanlar getPassword() ve setPassword() Şifreli belgeleri destekleyen yöntemler.

Başlamaya başlar

Maven bağımlılığı eklemek için:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-pdf</artifactId>
  <version>0.1.0-alpha</version>
</dependency>

Tüm facade sınıfları Java 11 veya daha sonra gerektirir. Aspose.PDF FOSS for Java is MİH lisanslı ve mevcut https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

İlgili Kaynaklar