1. Ürünler
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

Java üzerinden PDF belgeleri oluşturun ve yönetin — ek açıklamalar, form alanları, sayfa manipülasyonu ve PDF/A uyumluluğu ile. MIT-licensed.

PDF Yaratma ve Değiştirme için Ücretsiz MIT-Lisenze Java Kütüphanesi

Aspose.PDF FOSS for Java, PDF belgeleri oluşturmak ve çalışmak için MIT lisanslı bir Java kütüphanesidir. Merkezi giriş noktası olarak kapsamlı bir Document sınıfı sağlar ve ek olarak ek açıklamaların, etkileşimli form alanlarının, sayfa manipülasyonunun, meta verilerin ve PDF/A uyumluluk doğrulamasının tam kapsamını sunar.

Kütüphane, tam PDF spesifikasyonunu kapsayan 527 sınıfı sunar: belge yapısı Document, Page ve PageCollection aracılığıyla; ek açıklamalar Annotation hiyerarşisi üzerinden ( WidgetAnnotation, FreeTextAnnotation ve HighlightAnnotation dahil); etkileşimli formlar Form, ButtonField, CheckboxField ve RadioButtonField ile; sayfa render’ı BmpDevice aracılığıyla; ve PDF/A uyumluluk kontrolü ActionRules ve ActionFixes üzerinden. Şifreleme, CBC modunda AESCipher aracılığıyla sağlanır.

Aspose.PDF FOSS’yi Maven projenize groupId org.aspose ve artifactId aspose-pdf kullanarak ekleyin. Kütüphane, Java 11 veya daha yenisini gerektirir ve tamamen MIT lisanslıdır. Kurumsal özellikler ve destek için Aspose.PDF for Java — Enterprise Product adresine bakın.

Belge Yapısı ve Sayfa Yönetimi

  • Belge API: Yeni PDF belgeleri oluşturmak için Document sınıfını kullanın. Mevcut belgelere Document(filePath) veya Document(stream) yapıcıları aracılığıyla erişilebilir.
  • Sayfa yönetimi: Sayfaları PageCollection aracılığıyla ekleyin, erişin ve değiştirin. Her Page, MediaBox, CropBox, döndürme, kaynaklar ve içerik operatörlerini ortaya çıkarır.
  • Meta veri: Belge meta verilerini DocumentInfo ve XmpMetadata aracılığıyla okuyun ve yazın.
  • PDF yapısı: Temel PDF nesnelerine getParser(), getCatalog() ve getTrailer() aracılığıyla erişin.
  • Gömülü dosyalar: Gömülü dosya koleksiyonlarını getEmbeddedFiles() ile yönetin.

Ortak Belge İşleme Senaryoları

  • PDF oluşturma: Document ve sayfa doldurarak belgeleri programsal olarak oluşturun.
  • ** Belge analizi:** Metadata denetimi veya form alanı sayımı için mevcut dosyalara eriş.
  • ** Sayfa manipülasyonu:** PdfFileEditor ve Page API’sini kullanarak sayfaların boyutunu değiştirin, döndürün veya yeniden düzenleyin.
  • Batek iş akışları: Sunucu tarafındaki boru hattında birden fazla belge için tutarlı dönüşümler uygulayın.

Notlar ve Form Alanları

  • ** Yorum hiyerarşisi:** Özet Annotation sınıfı tüm yorumaların temelidir; somut türler arasında WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation ve UnderlineAnnotation bulunmaktadır.
  • İteraktif formlar: Document.getForm() ile belge formu erişerek, ButtonField,CheckboxField ve RadioButtonField örneklerini saymak veya oluşturmak için.
  • Widget görünümü: AppearanceCharacteristics Kenarlık rengi, arka plan, dönme ve başlıklar ile görsel özellikleri kontrol edin.
  • Form edit: Daha yüksek düzeyde form manipülasyonu için FormEditor ve FormElement kullanın.

Belge Gözden Geçirilmesi ve İşbirliği

  • ** İşlemler:** Çalışma akışlarını incelemek için belgelere vurgu, altyazı veya serbest metin notları ekleyin.
  • İteraktif formlar: Verileri yakalamak için radyo düğmeleri, işaretleme kutuları ve basmakla tıklatılabilir belgeler oluşturun.
  • Form veri çıkarma: sunucu tarafı boru hattları için gönderilen form alan değerlerini okuyun.
  • Arşiv uyumluluğu: ActionRules ve ActionFixes kullanarak belgelerin uzun süreli arşif için doğrulanması ve düzeltilmesi.

Güvenlik ve İçerik Operasyonları

  • AES şifreleme: CBC modunu kullanarak AESCipher ile veri bayt dizilerini şifreler ve çözür (AESCipher.encrypt(key, data) ve AESCipher.decrypt(key, data)).
  • Artifact yönetimi: Başlıkları, ayak izlerini, su işaretlerini ve arka plan görüntüleri Artifact ve ArtifactCollection API’leri aracılığıyla tanımlayın ve manipüle edin.
  • ** İçerik boyutlandırması:** Sayfa içeriği düzenini PdfFileEditor.resizeContents() ve ContentsResizeParameters ile ayarlayın.
  • ** Uygunluk doğrulama:** AnnotationRules ve ActionRules kullanarak PDF/A standartlarına göre yorumlama ve eylem kurallarını doğrulayın.

Belge Güvenliği Kullanım Durumları

  • Şifreli yükler: Belge akışlarına yerleştirilmiş veri bölümlerini şifrelemek için AESCipher kullanın.
  • ** Belge koruması:** Uygunluk iş akışlarında erişim kontrolü için güvenlik ayarlarını uygulayın.
  • ** Su işaretleme:** Su işareti ve sayfa dekorasyonlarını temsil eden Artifact nesneleri tespit edin ve yönetin.
  • Arşiv uyumluluğu: Mevcut belgeleri PDF/A-1b arşip standartlarına uygun hale getirmek için ActionFixes ve AnnotationFixes çalıştırın.

Widget Anotasyonlu Bir Belge Oluştur

Yeni bir belge oluşturun, sayfa ekleyin ve stil ile widget açıklama ekleyiniz.

try (Document doc = new Document()) ```java
try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}

Radyo Düğmeleri ile bir form oluşturun

Bir belge formuna bir radyo düğmesi grubu ekle ve programsal olarak değer seç.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
    radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Option2");
    doc.save("form.pdf");
}

Belge Sayfa Boyutlarını Kontrol Et

Mevcut bir belgeye eriş ve ilk sayfanın medya kutusunun boyutlarını oku.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

Destek ve Öğrenme Kaynakları

 Türkçe