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.
Document sınıfını kullanın. Mevcut belgeler Document(filePath) veya Document(stream) yapıcıları aracılığıyla erişilebilir.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.DocumentInfo ve XmpMetadata aracılığıyla okuyun ve yazın.getParser(), getCatalog() ve getTrailer() aracılığıyla erişin.getEmbeddedFiles() ile yönetin.Document oluşturup sayfaları doldurun.PdfFileEditor ve Page API’sini kullanarak.Annotation sınıfı, tüm açıklamaların temelidir; somut tipler WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation ve UnderlineAnnotation içerir.Document.getForm() üzerinden erişin ve ButtonField, CheckboxField ve RadioButtonField örneklerini numaralandırın veya oluşturun.AppearanceCharacteristics aracılığıyla kontrol edin — kenar rengi, arka plan, dönüş ve başlıklar.FormEditor ve FormElement kullanın.ActionRules ve ActionFixes kullanarak.AESCipher ile CBC modunda (AESCipher.encrypt(key, data) ve AESCipher.decrypt(key, data)) şifreleyin ve çözün.Artifact ve ArtifactCollection API’leri aracılığıyla tanımlayın ve yönetin.PdfFileEditor.resizeContents() ve ContentsResizeParameters ile ayarlayın.AnnotationRules ve ActionRules kullanarak doğrulayın.AESCipher kullanın.Artifact nesnelerini algılayın ve yönetin.ActionFixes ve AnnotationFixes çalıştırın.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");
}
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");
}
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);
}