
Bir PDF sayfasının içindeki içerik düzenlenmesi zor olsa da PDF spesifikasyonu, sayfa içeriğini değiştirmeden PDF sayfalarına eklenebilecek nesnelerin tam bir kümesini tanımlar. Bu nesnelere açıklamalar denir ve amaçları sayfa içeriğini işaretlemekten formlar gibi etkileşimli özellikleri uygulamaya kadar uzanır.
Çoğu PDF görüntüleyicisi, metin vurguları, notlar, çizgiler veya şekiller gibi çeşitli açıklama türlerinin oluşturulmasına ve düzenlenmesine olanak tanır ve oluşturulan açıklama türlerinden bağımsız olarak, PDF spesifikasyonuna uygun PDF görüntüleyicileri tüm açıklama türleri için işlemeyi de desteklemelidir. Ancak, çok sayıda belgeyle uğraşırken, açıklama eklemenin manuel süreci zahmetli hale gelir ve bu nedenle bir programlama API’si uygulanabilir bir çözümdür. PDF belgelerine Açıklamalar eklemek için Aspose.PDF Cloud SDK for Java kullanımını daha ayrıntılı olarak ele alacağız.
- SDK Kurulumu
- Java kullanarak metni üstü çizili hale getirin
- Vurgu Açıklaması Ekle
- Satır Açıklaması Nasıl Eklenir
- PDF’ye Daire Açıklaması Ekleme
SDK Kurulumu
Aspose.PDF Cloud SDK for Java, Java programcılarının mevcut PDF belgelerini diğer desteklenen belge biçimlerine dönüştürmesini, düzenlemesini ve oluşturmasını sağlayan bir programlama API’sidir. Cloud SDK, Maven ve GitHub üzerinden indirilebilir. Şimdi, Aspose.Pdf.jar’ı Maven derleme projenizde indirmek ve kullanmak için pom.xml dosyanıza aşağıdaki ayrıntıları ekleyin.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Daha fazla bilgi için lütfen Aspose.Cloud SDK’ları nasıl kurulur sayfasını ziyaret edin.
Ayrıca, kullanıcı gizliliğini ve veri bütünlüğünü sağlamak için tüm API’lerimize yalnızca yetkili kişilerin erişebildiğini lütfen unutmayın. Bu nedenle, önce Aspose.Cloud panosunu ziyaret etmeniz ve GitHub veya Google hesabınız varsa, sadece Kaydolmanız gerekir. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. Şimdi kimlik bilgilerini kullanarak panoya giriş yapın ve panodan Uygulamalar bölümünü genişletin ve İstemci Kimliği ve İstemci Gizli Bilgisi ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırın.
Java kullanarak metni üstü çizili hale getirin
Bazen belgenin içindeki belirli içerikleri belgeden kaldırmadan eski olarak işaretleme gereksinimimiz olur. Üstü Çizili (diğer adıyla üstü çizili), ortalarında yatay bir çizgi bulunan kelimelerle gösterilir. Metnin yanlış veya eski olduğunu ve yakın zamanda silindiğini veya bu şekilde işaretlendiğini ima eder. Üstü çizili açıklamaların ayarlarını strikethroughSettings özelliğini kullanarak ayarlayabiliriz. StrikethroughSettings özelliği, üstü çizili açıklamaların renk, opaklık, yazar, konu, değiştirilmişTarih ve isLocked özelliklerini ayarlamak için kullanılır.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String sourcePDF = "PdfWithTable.pdf";
int pageNumber = 1;
// Açıklama için dikdörtgen bölge oluştur
Rectangle rect = new Rectangle()
.LLX(200.)
.LLY(380.)
.URX(250.)
.URY(375.);
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
List<Point> points = new ArrayList<>();
points.add(new Point().X(132.).Y(380.)); // Top-Left edge of the Strike Through line
points.add(new Point().X(95.).Y(10.)); // Top-Right edge of the strike through line
points.add(new Point().X(130.).Y(25.));
points.add(new Point().X(130.).Y(10.));
StrikeOutAnnotation annotation = new StrikeOutAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setQuadPoints(points);
annotation.setModified("05/22/2021 00:00:00.000 AM");
List<StrikeOutAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
AsposeResponse response = pdfApi.postPageStrikeOutAnnotations(sourcePDF, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
Vurgu Açıklaması Ekle
PDF içindeki içeriği vurgulamak önemlidir çünkü belgedeki önemli bilgilere dikkat çekmemizi sağlar. Vurgulama etkilidir çünkü önce okuyucudan önemli kısımları seçmesini ister ve sonra bu bilgileri daha sonra incelemek için etkili bir yol sunar. Cloud API’miz PDF belgelerindeki içeriği vurgulama yetenekleri sağlar. Aşağıda bir PDF dosyasına vurgu ek açıklamaları ekleme adımları verilmiştir.
- Öncelikle ClientSecret ve ClientId detaylarını sağlayarak PdfApi örneğini oluşturun.
- Yerel sistemden bir PDF dosyasını yüklemek için bir File örneği oluşturuyoruz ve ardından belgeyi bulut depolamaya yüklemek için PdfApi sınıfının uploadFile(…) metodunu çağırıyoruz.
- Şimdi, açıklamanın eklenebileceği dikdörtgen bölgeyi belirtmek için Rectangle sınıfının bir örneğini oluşturun.
- Daha sonra HighlightAnnotation’ı çizecek noktalara ilişkin bilgileri tutacak Point türünde bir ArrayList oluşturun.
- HighlightAnnotation sınıfından bir nesne oluşturun ve Ad, Dikdörtgen bölge, Konu, Başlık, Dörtlü Noktalar ve Açıklama değiştirme tarihini ayarlayın.
- Bir sonraki adım HighlightAnnotation türünde bir Liste oluşturmak ve yukarıda oluşturulan HighlightAnnotation nesnesini bu listeye eklemektir.
- Son olarak PdfApi sınıfının postPageHighlightAnnotations(…) metodunu çağırın ve kaynak PDF’yi, sayfa numarasını ve Açıklamalar listesini argüman olarak geçirin.

Resim 1:- PDF dosyasındaki Vurgu Açıklaması.
Yukarıdaki örnekte kullanılan örnek dosyaları aşağıdaki bağlantılardan indirebilirsiniz.
Satır Açıklaması Nasıl Eklenir
Üstü çizili ve vurgulu açıklamalar eklemeye benzer şekilde, API ayrıca PDF belgelerine Satır Açıklamaları eklemenize olanak tanır. Bu gereksinimi yerine getirmek için LineAnnotation adlı bir sınıfımız var. Aşağıda bu gereksinimi nasıl karşılayacağınıza dair daha fazla ayrıntı verilmiştir.
- Öncelikle ClientSecret ve ClientId detaylarını sağlayarak PdfApi örneğini oluşturun.
- İsteğe bağlı olarak, yerel sistemden bir PDF dosyası yüklemek için bir Dosya örneği oluştururuz ve ardından belgeyi bulut depolamaya yüklemek için PdfApi sınıfının uploadFile(…) metodunu çağırırız. Dosya zaten Cloud depolamada mevcutsa, onu kullanabiliriz.
- Nesne başlatma özelliklerinin geri kalanı, HighlithAnnotation için yukarıda belirtilenlerle aynıdır; tek fark, LineAnnotation sınıfından bir nesne oluşturmamız ve setStarting(…) ve setEnding(…) yöntemlerini kullanarak bir çizginin başlangıç ve bitiş noktasını ayarlamamız gerekir.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String sourcePDF = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// açıklamanın ekleneceği sayfa numarası
int pageNumber = 1;
// Açıklama için dikdörtgen bölge oluştur
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(500.)
.URX(400.)
.URY(510.);
// AnnotationFlags türünde Liste nesnesi oluştur
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// Satır Açıklamaları nesnesi oluştur
LineAnnotation annotation = new LineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");
// çizginin başlangıç noktasını ayarla
annotation.setStarting(new Point().X(100.).Y(100.));
// satırın bitiş noktasını ayarla
annotation.setEnding(new Point().X(20.).Y(680.));
// staleblue için renk örneği oluştur
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// açıklama rengini ayarla
annotation.interiorColor(color);
// Açıklamayı değiştir tarihini ayarla
annotation.setModified("05/22/2021 00:00:00.000 AM");
// Satır Açıklamalarının Liste örneğini oluştur
List<LineAnnotation> annotations = new ArrayList<>();
// LineAnnotation nesnesini Line Annotations listesine ekle
annotations.add(annotation);
// PDF dosyasına Satır Açıklaması eklemek için API yöntemini çağırın
AsposeResponse response = pdfApi.postPageLineAnnotations(sourcePDF, pageNumber, annotations, null, null);
PDF’ye Daire Açıklaması Ekleme
Daire açıklamaları PDF belgelerinde de yaygın olarak kullanılır ve API bu açıklama türünü çok iyi destekler. Daire açıklamaları eklemek için lütfen CircleAnnotation sınıfını kullanmayı deneyin. Aşağıda belirtilen kod bu gereksinimi karşılamak için kullanılabilir.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String sourcePDF = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// Açıklamanın ekleneceği sayfa numarası
int pageNumber = 1;
// Açıklama için dikdörtgen bölge oluştur
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(700.)
.URX(300.)
.URY(500.);
// AnnotationFlags türünde Liste nesnesi oluştur
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// Vurgu Açıklamaları nesnesi oluştur
CircleAnnotation annotation = new CircleAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");
// staleblue için renk örneği oluştur
Color color = new Color();
color.setR(0xC7);
color.setG(0xE2);
color.setB(0x6f);
// açıklama rengini ayarla
annotation.interiorColor(color);
// Açıklamayı değiştir tarihini ayarla
annotation.setModified("05/22/2021 00:00:00.000 AM");
// Vurgu Açıklamalarının Liste örneğini oluştur
List<CircleAnnotation> annotations = new ArrayList<>();
// CircleAnnotation nesnesini Circle Annotations listesine ekle
annotations.add(annotation);
// PDF dosyasına Daire Açıklaması eklemek için API yöntemini çağırın
AsposeResponse response = pdfApi.postPageCircleAnnotations(sourcePDF, pageNumber, annotations, null, null);

Resim 2:- PDF dosyasında Daire Açıklaması.
Yukarıda gösterildiği gibi giriş PDF belgesi ve ortaya çıkan PDF aşağıdaki bağlantılardan indirilebilir:
Hızlı İpucu
Tüm açıklamaları tek tıklamayla PDF’nizden kaldırmak için Ücretsiz çevrimiçi PDF Açıklama Uygulamamızı kullanın.
Çözüm
Bu blogda, şu anda Aspose.PDF Cloud SDK for Java tarafından desteklenen çeşitli Açıklama türlerini ele aldık. Açıklamaların dışında, API PDF formatıyla ilgili çok sayıda başka heyecan verici özelliği de destekler. Daha fazla bilgi için Geliştirici Kılavuzunu daha fazla incelemenizi öneririz.
Müşterilerimize her zaman mümkün olan en iyi şekilde hizmet vermeye çalıştığımızı ve geri bildirimlerini ve önerilerini dikkate aldığımızı lütfen unutmayın. Bu nedenle, API’yi kullanırken herhangi bir sorunla karşılaşırsanız veya ilgili bir sorunuz varsa lütfen Ücretsiz Destek forumumuz aracılığıyla bizimle iletişime geçmekten çekinmeyin.
İlgili Makaleler
Daha fazla bilgi edinmek için aşağıdaki bağlantıları ziyaret etmenizi şiddetle öneririz: