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

Aspose.PDF FOSS - Aspose.PDF Java için FOSS

Java üzerinden PDF belgeleri oluşturun ve manipüle edin — açıklamalar, form alanları, sayfa manipülasyonu ve PDF/A uyumluluğu ile. MIT lisanslı.

PDF Oluşturma ve Manipülasyonu için Ücretsiz MIT Lisanslı Java Kütüphanesi

Aspose.PDF FOSS for Java, PDF belgeleri oluşturmak ve üzerinde ç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, etkileşimli form alanları, sayfa manipülasyonu, meta veriler ve PDF/A uyumluluk doğrulaması için tam kapsam sunar.

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

Maven projenize Aspose.PDF FOSS’ı 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

  • Document API: Yeni PDF belgeleri oluşturmak için Document sınıfını kullanın. Mevcut belgeler 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.
  • Metadata: Belge meta verilerini DocumentInfo ve XmpMetadata aracılığıyla okuyun ve yazın.
  • PDF yapısı: Alt 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.

Yaygın Belge İşleme Senaryoları

  • PDF oluşturma: Belgeleri programlı olarak oluşturmak için bir Document oluşturup sayfaları doldurun.
  • Belge analizi: Mevcut dosyalara erişerek meta veri incelemesi veya form alanı sayımı yapın.
  • Sayfa manipülasyonu: Sayfaları yeniden boyutlandırın, döndürün veya yeniden sıralayın PdfFileEditor ve Page API’sini kullanarak.
  • Toplu iş akışları: Birden fazla belge üzerinde sunucu tarafı boru hatlarında tutarlı dönüşümler uygulayın.

Açıklamalar ve Form Alanları

  • Açıklama hiyerarşisi: Soyut Annotation sınıfı, tüm açıklamaların temelidir; somut tipler WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation ve UnderlineAnnotation içerir.
  • Interactive forms: Belge formuna Document.getForm() üzerinden erişin ve ButtonField, CheckboxField ve RadioButtonField örneklerini numaralandırın veya oluşturun.
  • Widget görünümü: Görsel özellikleri AppearanceCharacteristics aracılığıyla kontrol edin — kenar rengi, arka plan, dönüş ve başlıklar.
  • Form düzenleme: Daha yüksek seviyeli form manipülasyonu için FormEditor ve FormElement kullanın.

Belge İncelemesi ve İşbirliği

  • İşaretleme açıklamaları: Belgelerde gözden geçirme iş akışları için vurgulama, alt çizgi veya serbest metin açıklamaları ekleyin.
  • Interactive forms: Veri yakalama için radyo düğmeleri, onay kutuları ve itme düğmeleriyle doldurulabilir belgeler oluşturun.
  • Form verisi çıkarma: Sunucu tarafı boru hatları için gönderilen form alanı değerlerini okuyun.
  • Arşiv uyumluluğu: Uzun vadeli arşivleme için belgeleri doğrulayın ve düzeltin ActionRules ve ActionFixes kullanarak.

Güvenlik ve İçerik Operasyonları

  • AES encryption: Veri bayt dizilerini AESCipher ile CBC modunda (AESCipher.encrypt(key, data) ve AESCipher.decrypt(key, data)) şifreleyin ve çözün.
  • Artefakt yönetimi: Başlıkları, altbilgileri, filigranları ve arka plan görüntülerini Artifact ve ArtifactCollection API’leri aracılığıyla tanımlayın ve yönetin.
  • İçerik yeniden boyutlandırma: Sayfa içerik düzenini PdfFileEditor.resizeContents() ve ContentsResizeParameters ile ayarlayın.
  • Uyumluluk doğrulama: Anotasyon ve eylem kurallarını PDF/A standartlarına karşı AnnotationRules ve ActionRules kullanarak doğrulayın.

Belge Güvenliği Kullanım Durumları

  • Şifrelenmiş yükler: Belge akışlarına gömülü veri bölümlerini şifrelemek için AESCipher kullanın.
  • Belge koruması: Uyum iş akışlarında erişim kontrolü için güvenlik ayarlarını uygulayın.
  • Watermarking: Su işaretlerini ve sayfa süslemelerini temsil eden Artifact nesnelerini algılayın ve yönetin.
  • Arşiv uyumluluğu: Mevcut belgelerin PDF/A-1b arşiv standartlarına uymasını sağlamak için ActionFixes ve AnnotationFixes çalıştırın.

Widget Açıklamasıyla Belge Oluştur

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

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");
}
```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üğmeleriyle Form Oluştur

Bir belge formuna radyo düğmesi grubu ekleyin ve bir değeri programlı olarak seçin.

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ı İncele

Mevcut bir belgeye erişin ve ilk sayfanın medya kutusu boyutlarını okuyun.

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