PDF'ye filigran ekle

Filigran, bir damga gibi mevcut belge içeriğinin önünde veya arkasında görünen bir metin veya resimdir. Örneğin, hassas bilgiler içeren sayfalara “Gizli” filigranı uygulayabilirsiniz. Filigranlar, gizli bilgileri korumak ve yasal bir belgenin geçerliliğini belirtmek için kullanılabilir. Ayrıca, sahteciliği önlemeye yardımcı oldukları herhangi bir kağıt banknotu filigranlayabilirsiniz. Bu makalede, PDF belgesinde filigranla ilgili özellikleri ele alacağız.

PDF manipülasyonu REST API’si

Aspose.PDF Cloud, PDF dosyalarını DOCX, PPTX, XLSX, XPS, SVG, JPEG vb. gibi desteklenen diğer biçimlere dönüştürme, düzenleme ve işleme yetenekleri sunan ödüllü REST API’mizdir. Şimdi Aspose.PDF Cloud API etrafında bir Java sarmalayıcı olan Aspose.PDF Cloud SDK for Java hakkında konuşalım. Java programlama dilini kullanarak PDF’ye filigran ekleme yetenekleri dahil olmak üzere Cloud REST API’nin tüm özelliklerini sağlar.

Java Cloud SDK’yı kullanmak için ilk adım Aspose.PDF Cloud SDK for Java‘yı yüklemektir. Cloud SDK Maven | GitHub üzerinden indirilebilir. Aşağıda Maven derleme projesinde Aspose.Pdf.jar’ın nasıl indirileceği ve kullanılacağına dair ayrıntılar verilmiştir.

Pom.xml dosyanıza aşağıdaki bağımlılıkları 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>

REST API kullanarak PDF’ye Metin filigranı ekleyin

Cloud API’lerini kullanmak için, öncelikle Aspose.Cloud panosunda kişiselleştirilmiş İstemci Kimliğinizi ve İstemci Gizli Bilgilerinizi göreceğiniz bir hesap kaydetmeniz gerekir. Bunlar API’lere erişirken önemlidir. Aşağıda Java kullanarak mevcut PDF belgesine Metin filigranı eklemenin ayrıntıları verilmiştir

  • Öncelikle iki değişkene karşı İstemci Kimliğinizi ve İstemci Gizli Anahtarınızı belirtmeniz gerekiyor.
  • İkinci olarak, Client ID ve Client Secret’ı argüman olarak sağlayarak PdfApi sınıfının bir nesnesini oluşturun.
  • Üçüncüsü, yazı tipi adını Arial ve yazı tipi boyutunu 14 olarak belirlediğimiz TextState sınıfından bir nesne oluşturalım.
  • Şimdi TextStamp sınıfının bir örneğini oluşturmamız gerekiyor. Bu nesneyi kullanırken, bir merkez olarak Yatay Hizalama belirteceğiz, Metin damgası değeri, yazı tipi boyutu ve yazı tipi ayrıntıları, yukarıdaki adımda oluşturulan TextState nesnesinin bir argüman olarak geçirildiği textState(..) yöntemi kullanılarak belirtilir. Kenar boşluğu ayrıntıları ve Dikey Hizalama da Merkez olarak belirtilir.
  • TextStamp’ı arka planda görüntülemek için background(..) metodu true argümanıyla kullanılır.
  • Ayrıca damganın opaklığı, döndürme açısı, yakınlaştırma faktörü ve XY girintisi de belirtilir.
  • Şimdi List sınıfından TextStamp tipinde bir nesne oluşturalım ve yukarıda oluşturduğumuz damga nesnesini bu listeye ekleyelim.
  • Son olarak, PdfAPi’nin postPageTextStamps(..) metodunu çağırın ve damgalama sürecini başlatmak için giriş PDF’sini, sayfa numarasını ve damgalar listesini bir argüman olarak geçirin.
// Tam örnekler ve kaynak kodu için lütfen https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java adresini ziyaret edin.

// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
String sourceFileName = "PdfWithTable.pdf";
int pageNumber = 1;
String cloudStorage = "";
String folder = "";

// İstemci Kimliği ve İstemci Gizli Ayrıntılarını kullanarak bir PdfApi örneği oluşturun
com.aspose.asposecloudpdf.api.PdfApi pdfApi = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientId);

// TextState nesnesini oluşturun ve yazı tipi biçimlendirme ayrıntılarını belirtin
com.aspose.asposecloudpdf.model.TextState textState = new com.aspose.asposecloudpdf.model.TextState().fontSize(24.).font("Arial");

com.aspose.asposecloudpdf.model.TextStamp stamp = new com.aspose.asposecloudpdf.model.TextStamp()
       	.textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
  	.value("Text Stamp")
	.textState(textState)
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(4.)
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
 
	stamp.background(true)
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	.opacity(1.)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.ON90)
	.rotateAngle(45.)
	.xindent(0.)
	.yindent(0.)
	.zoom(1.);
        
// TextStamp türünde bir Liste nesnesi oluşturun
List<com.aspose.asposecloudpdf.model.TextStamp> stamps = new ArrayList<>();

// TextStamps listesine TextStamp örneği ekle
stamps.add(stamp);

// PDF dosyasının ilk sayfasına postTextStamp'ı çağırma yöntemi
com.aspose.asposecloudpdf.model.AsposeResponse response = pdfApi.postPageTextStamps(sourceFileName, pageNumber, stamps,cloudStorage, folder);
PDF'ye TextStamp eklendi

Resim 1:- PDF belgesine Metin Damgası eklendi.

Yukarıdaki örnekte kullanılan örnek dosyaları aşağıdaki bağlantılardan indirebilirsiniz:

Java kullanarak PDF’e Resim filigranı nasıl eklenir

Daha az kod satırıyla, Resim filigranı bir PDF belgesine kolayca eklenebilir. Aşağıda bir JPEG görüntüsünü bir PDF dosyasına nasıl ekleyebileceğinize dair adımlar verilmiştir.

  • İlk olarak ClientSecret ve ClientID’yi argüman olarak geçirerek bir PdfApi nesnesi oluşturmamız gerekiyor.
  • Bir sonraki adım, damgalanacak resim dosyasını, kenar ayrıntılarını ve VerticalAlignment’ı tanımladığımız ImageStamp nesnesini oluşturmaktır. Bizim durumumuzda, VerticalAlignment numaralandırmasından Center değerini seçtik.
  • ImageStamp.background(True) değerini, resmin sayfadaki içeriğin arkasında görünecek şekilde ayarlayın. Aksi takdirde, sayfa içeriğinin üstünde görünecektir.
  • ImageStamp türünde bir List nesnesi oluşturun ve ikinci adımda oluşturulan ImageStamp nesnesini bu koleksiyona ekleyin.
  • Son olarak PdfApi sınıfının postPageImageStamps(…) metodunu çağırıyoruz ve buraya girdi olarak gelen PDF’yi, filigran için sayfa numarasını ve yukarıda oluşturulan ImageStamp listesini argüman olarak geçiriyoruz.
  • Resim filigranlı PDF dosyası aynı bulut depolama alanına kaydedilir. Sonuç dosyasının önizlemesi aşağıda görüntülenir.
// Tam örnekler ve kaynak kodu için lütfen https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java adresini ziyaret edin.

// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// PdfApii'nin bir örneğini oluşturun
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF belgesini girin
String file = "PdfWithTable.pdf";
// Filigran için kullanılacak kaynak resim
String image = "Koala.jpg";
// filigranın ekleneceği sayfa numarası
int pageNumber = 1;

// ImageStamp nesnesinin bir örneğini oluşturun
ImageStamp stampObject = new ImageStamp()
	.fileName(image)
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(214.)
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
	
	// sayfa içeriğinin arkasına filigran ekle
	stampObject.background(true)
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	.opacity(1.)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(0.)
	.yindent(0.)
	.zoom(0.2);

// ImageStamp nesnesinin bir listesini oluştur
List<com.aspose.asposecloudpdf.model.ImageStamp> stamps = new ArrayList<>();

// ImageStamp'ı ImageStamps Listesine Ekle
stamps.add(stampObject);

// PDF'ye filigran resmi eklemek için API yöntemini çağırın
AsposeResponse response = pdfApi.postPageImageStamps(file, pageNumber, stamps,null, null);
PDF'ye resim damgası eklendi

Resim 2:- PDF belgesine resim damgası eklendi.

Yukarıdaki örnekte kullanılan örnek dosyaları aşağıdaki bağlantıdan indirebilirsiniz.

PDF sayfasını filigran damgası olarak ekle

Metin ve Görüntü dışında, PDF sayfası mevcut bir PDF belgesine filigran olarak da eklenebilir. Aşağıda bu gerekliliklerin nasıl gerçekleştirileceğine dair adımlar verilmiştir.

  • Öncelikle PdfApi sınıfından bir nesne oluşturalım ve Client ID ve Client Secret’ı argüman olarak verelim.
  • İkinci olarak, PdfPageStamp sınıfının bir örneğini oluşturun. Bu sınıf, filigran için kullanılacak PDF belgesinin yolunu belirtmek için kullanılır.
  • PdfPageStamp.pageIndex(..) metodu filigran için kullanılacak PDF dosyasının sayfa numarasını belirtmek için kullanılır.
  • Diğer yöntemler arasında, PDF içeriğinin arkasına filigran koymak veya içeriğin üstünde tutmak için kullanıldığından background(..) önemlidir.
  • Daha sonra PdfPageStamp türünde bir List oluşturun ve yukarıda oluşturulan PdfPageStamp nesnesini List koleksiyonuna ekleyin.
  • Son olarak, kaynak PDF dosyasını, filigranlanacak sayfa dizinini ve PdfPageStamp Listesini argüman olarak geçirdiğimiz PdfApi sınıfının postPagePdfPageStamps(…) metodunu çağırın. Ortaya çıkan çıktı bulut depolama alanına kaydedilir.
// Tam örnekler ve kaynak kodu için lütfen https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java adresini ziyaret edin.

// ClientID ve ClientSecret'ı https://cloud.aspose.com adresinden edinin
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// PdfApi örneği oluştur
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF belgesini girin
String sourcePDF = "PdfWithAnnotations.pdf";

// Filigran için kullanılacak kaynak PDF
String stampPDF = "rusdoc.pdf";

// filigranın ekleneceği sayfa numarası
int pageNumber = 1;

// PdfPageStamp nesnesinin bir örneğini oluşturun
PdfPageStamp stampObject = new PdfPageStamp()
	// Filigran olarak kullanılacak PDF dosyası
  	.fileName(stampPDF)
	// filigran olarak eklemek istediğiniz sayfa dizinini belirtin
	.pageIndex(1)
	.leftMargin(150.)
	.rightMargin(2.)
	
	// filigran PDF'ini yukarı taşımak için -ve üst kenar boşluğunu ayarladık
	.topMargin(-330.)
	.bottomMargin(414.)
	
  	// filigranın dikey hizalamasını Üst olarak ayarla
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.TOP);
	
  	// filigranı ön plana/görünür hale getir
	stampObject.background(false)
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	.opacity(1.)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(0.)
	.yindent(0.)
	
  	// yakınlaştırma faktörünü 0.7 olarak ayarlayın böylece %100 yerine sıkıştırılmış olarak görünür
	.zoom(0.7);

// PdfPageStamp nesnesinin bir listesini oluştur
List<com.aspose.asposecloudpdf.model.PdfPageStamp> stamps = new ArrayList<>();
	
// PdfPageStamp'ı ImageStamps Listesine Ekle
stamps.add(stampObject);
	
// PDF'yi filigran olarak eklemek için API yöntemini çağırın
AsposeResponse response = pdfApi.postPagePdfPageStamps(sourcePDF, pageNumber, stamps,null, null);
PDF dosyası filigran olarak

Resim 3:- Filigran olarak eklenen PDF dosyasının önizlemesi.

Yukarıdaki örnekte kullanılan örnek dosyalar aşağıdaki bağlantılardan indirilebilir.

Sayfa Numarasını filigran olarak ekle

Sayfa numarası ayrıntıları, okuyucuya belgenin uzunluğu ve okuyucunun hangi sayfada gezindiği konusunda net bir gösterge sağladığı için kullanılabilirlik açısından oldukça önemlidir.

  • PdfApi örneğini oluşturduktan sonra PageNumberStamp sınıfının bir nesnesini oluşturalım.
  • PageNumberStamp sınıfının value(…) metodunu kullanarak PageNumber damgası için deseni belirtin.
  • Bir diğer önemli yöntem ise Sayfa Numarası filigranının hangi sayımdan itibaren başlayacağını belirten setStartingNumber(..) metodudur.
  • Kenar boşluğu ayrıntıları, opaklık, döndürme açısı, odak faktörü vb. gibi diğer kod parçaları yukarıdaki kod parçacıklarıyla aynıdır.
  • Sayfa Numarası filigranının nereye yerleştirileceğini startPageNumber ve endPageNumber değerlerini belirtmemiz gerekiyor.
  • Son olarak, giriş PDF dosyasını, PageNumberStamp nesnesini, Başlangıç ve Bitiş sayfa bilgilerini argüman olarak alan ve kaynak dosyaya Sayfa Numarası filigranını ekleyen postDocumentPageNumberStamps(…) fonksiyonunu çağırın.
// Tam örnekler ve kaynak kodu için lütfen https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java adresini ziyaret edin.

// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
				
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF belgesini girin
String sourcePDF = "PdfWithTable.pdf";

// PdfPageStamp nesnesinin bir örneğini oluşturun
PageNumberStamp stampObject = new PageNumberStamp()

	// Sayfa Numarası filigranı için biçim
  	.value("Page #")
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(4.)
	
	// filigranın dikey hizalamasını Alt olarak ayarla
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.BOTTOM);
	
	// sayaç için başlangıç numarasını belirtin
	stampObject.setStartingNumber(3);

	// filigranı ön plana/görünür hale getir
	stampObject.background(false)
	
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	.opacity(1.)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(0.)
	.yindent(0.)
	.zoom(1.0);

// filigran nereye konur başlangıç sayfası formu
int startPageNumber = 2;
	
// filigranın yerleştirileceği sayfa dizini
int endPageNumber = 3;
	
// PDF'yi filigran olarak eklemek için API yöntemini çağırın
AsposeResponse response = pdfApi.postDocumentPageNumberStamps(sourcePDF, stampObject,startPageNumber, endPageNumber, null, null);
PDF'de Sayfa Numarası damgası

Resim 4:- PDF’de Sayfa Numarasının filigran olarak önizlemesi.

Yukarıdaki örnekte kullanılan örnek dosyalar aşağıdaki bağlantıdan indirilebilir:

Hızlı İpucu

Aspose.PDF for Java Cloud SDK o kadar güçlüdür ki birkaç kod satırıyla JPEG, EPUB, LaTeX, HTML, PS, XSLFo, XPS, SVG, DOCX, PCL formatlarını PDF formatına dönüştürebilirsiniz. Daha fazla bilgi için lütfen ürün sayfasını ziyaret edin.

Çözüm

Bu blog yazısında, Aspose.PDF Cloud SDK for Java kullanarak mevcut PDF belgelerine Metin, Resim, PDF ve Sayfa Numarası bilgilerini nasıl kolayca ekleyebileceğimize dair adımları öğrendik. Lütfen Cloud SDK’larımızın açık kaynaklı olduğunu ve bunların tam kaynak kodunu indirip ihtiyaçlarınıza göre değiştirebileceğinizi unutmayın. Tam kaynak kodu GitHub deposundan indirilebilir. İlgili herhangi bir sorunuz olursa lütfen ücretsiz destek forumları aracılığıyla bizimle iletişime geçmekten çekinmeyin.