Προσθήκη υδατογραφήματος σε PDF

Το υδατογράφημα είναι κείμενο ή εικόνα που εμφανίζεται είτε μπροστά είτε πίσω από το υπάρχον περιεχόμενο του εγγράφου, όπως μια σφραγίδα. Για παράδειγμα, θα μπορούσατε να εφαρμόσετε ένα υδατογράφημα “Εμπιστευτικό” σε σελίδες με ευαίσθητες πληροφορίες. Τα υδατογραφήματα μπορούν να χρησιμοποιηθούν για την προστασία εμπιστευτικών πληροφοριών και για την ένδειξη της εγκυρότητας ενός νομικού εγγράφου. Μπορείτε επίσης να μαρκάρετε οποιοδήποτε χαρτονόμισμα, όπου συμβάλλουν στην αποφυγή παραχάραξης. Σε αυτό το άρθρο, θα συζητήσουμε τις δυνατότητες που σχετίζονται με το υδατογράφημα σε έγγραφο PDF.

Χειρισμός PDF REST API

Το Aspose.PDF Cloud είναι το βραβευμένο μας REST API που προσφέρει τις δυνατότητες δημιουργίας, χειρισμού καθώς και απόδοσης αρχείων PDF σε άλλες υποστηριζόμενες μορφές, όπως DOCX, PPTX, XLSX, XPS, SVG, [JPEG][Aspeloose] SDK για Java]8 που είναι ένα περιτύλιγμα Java γύρω από το Aspose.PDF Cloud API. Παρέχει όλες τις δυνατότητες του Cloud REST API, συμπεριλαμβανομένων των δυνατοτήτων προσθήκης υδατογραφήματος σε PDF χρησιμοποιώντας γλώσσα προγραμματισμού Java.

Για να χρησιμοποιήσετε το Java Cloud SDK, το πρώτο βήμα είναι να εγκαταστήσετε το Aspose.PDF Cloud SDK για Java. Το Cloud SDK είναι διαθέσιμο για λήψη μέσω Maven | GitHub. Παρακάτω δίνονται οι λεπτομέρειες σχετικά με τον τρόπο λήψης και χρήσης του Aspose.Pdf.jar στο έργο κατασκευής Maven.

Προσθέστε τις ακόλουθες εξαρτήσεις στο αρχείο pom.xml.

<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>

Προσθήκη υδατογραφήματος κειμένου σε PDF χρησιμοποιώντας REST API

Για να χρησιμοποιήσετε τα API Cloud, θα πρέπει πρώτα να εγγράψετε έναν λογαριασμό στο Aspose.Cloud dashboard όπου θα δείτε το εξατομικευμένο Client ID και τα στοιχεία Client Secret. Αυτά είναι απαραίτητα κατά την πρόσβαση στα API. Παρακάτω δίνονται οι λεπτομέρειες σχετικά με τον τρόπο προσθήκης υδατογραφήματος κειμένου σε υπάρχον έγγραφο PDF χρησιμοποιώντας Java

  • Αρχικά, πρέπει να καθορίσετε τα στοιχεία Client ID και Client Secret σε δύο μεταβλητές.
  • Δεύτερον, δημιουργήστε ένα αντικείμενο της κλάσης PdfApi παρέχοντας ως ορίσματα Client ID και Client Secret.
  • Τρίτον, δημιουργήστε ένα αντικείμενο της κλάσης TextState όπου καθορίζουμε το όνομα γραμματοσειράς ως Arial και το μέγεθος γραμματοσειράς ως 14.
  • Τώρα πρέπει να δημιουργήσουμε μια παρουσία της κλάσης TextStamp. Κατά τη χρήση αυτού του αντικειμένου, θα καθορίσουμε το HorizontalAlignment ως κέντρο, η τιμή σφραγίδας κειμένου, το μέγεθος γραμματοσειράς και οι λεπτομέρειες του τύπου γραμματοσειράς καθορίζονται χρησιμοποιώντας τη μέθοδο textState(..) όπου το αντικείμενο TextState που δημιουργήθηκε στο παραπάνω βήμα μεταβιβάζεται ως όρισμα. Οι λεπτομέρειες περιθωρίου και η κατακόρυφη στοίχιση καθορίζονται επίσης ως Κέντρο.
  • Για να εμφανιστεί το TextStamp στο παρασκήνιο, η μέθοδος background(..) χρησιμοποιείται με ένα όρισμα ως true.
  • Επιπλέον, καθορίζονται επίσης η αδιαφάνεια, το rotateAngle, ο συντελεστής ζουμ και η εσοχή XY για τη σφραγίδα.
  • Τώρα δημιουργήστε ένα αντικείμενο της κλάσης List με τύπο TextStamp και προσθέστε το αντικείμενο σφραγίδας που δημιουργήθηκε παραπάνω σε αυτήν τη λίστα.
  • Τέλος, καλέστε τη μέθοδο postPageTextStamps(..) του PdfAPi και περάστε την εισαγωγή PDF, τον αριθμό σελίδας και τη λίστα γραμματοσήμων ως όρισμα για την έναρξη της διαδικασίας σφραγίδας.
// Για πλήρη παραδείγματα και πηγαίο κώδικα, επισκεφθείτε τη διεύθυνση https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
String sourceFileName = "PdfWithTable.pdf";
int pageNumber = 1;
String cloudStorage = "";
String folder = "";

// δημιουργήστε μια παρουσία του PdfApi χρησιμοποιώντας Client ID και Client Secret στοιχεία
com.aspose.asposecloudpdf.api.PdfApi pdfApi = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientId);

// δημιουργήστε ένα αντικείμενο του TextState και καθορίστε λεπτομέρειες μορφοποίησης γραμματοσειράς
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
List<com.aspose.asposecloudpdf.model.TextStamp> stamps = new ArrayList<>();

// προσθέστε την παρουσία TextStamp στη λίστα TextStamps
stamps.add(stamp);

// μέθοδος κλήσης στο postTextStamp στην πρώτη σελίδα του αρχείου PDF
com.aspose.asposecloudpdf.model.AsposeResponse response = pdfApi.postPageTextStamps(sourceFileName, pageNumber, stamps,cloudStorage, folder);
Το TextStamp προστέθηκε σε PDF

Εικόνα 1: - Η σφραγίδα κειμένου προστέθηκε στο έγγραφο PDF.

Τα δείγματα αρχείων που χρησιμοποιούνται στο παραπάνω παράδειγμα μπορούν να ληφθούν από τους ακόλουθους συνδέσμους:

Πώς να προσθέσετε υδατογράφημα εικόνας σε PDF χρησιμοποιώντας Java

Με λιγότερες γραμμές κώδικα, το υδατογράφημα εικόνας μπορεί εύκολα να προστεθεί σε ένα έγγραφο PDF. Παρακάτω δίνονται τα βήματα για το πώς μπορείτε να προσθέσετε μια εικόνα JPEG σε ένα αρχείο PDF.

  • Πρώτον, το βήμα είναι να δημιουργήσετε ένα αντικείμενο PdfApi ενώ μεταβιβάζετε το ClientSecret και το ClientID ως όρισμα.
  • Το επόμενο βήμα είναι να δημιουργήσουμε το αντικείμενο ImageStamp όπου ορίζουμε το αρχείο εικόνας που θα σφραγιστεί, τις λεπτομέρειες περιθωρίου και το Vertical Alignment. Στην περίπτωσή μας, έχουμε επιλέξει Κεντρική τιμή από την απαρίθμηση VerticalAlignment.
  • Ρυθμίστε το ImageStamp.background(True) έτσι ώστε η εικόνα να εμφανίζεται πίσω από το περιεχόμενο πάνω από τη σελίδα. Διαφορετικά, θα εμφανίζεται στην κορυφή του περιεχομένου της σελίδας.
  • Δημιουργήστε ένα αντικείμενο λίστας τύπου ImageStamp και προσθέστε το αντικείμενο ImageStamp που δημιουργήθηκε στο δεύτερο βήμα σε αυτήν τη συλλογή.
  • Τέλος, καλέστε τη μέθοδο postPageImageStamps(…) της κλάσης PdfApi όπου περνάμε ως όρισμα το PDF εισόδου, τον αριθμό σελίδας για το υδατογράφημα και τη λίστα ImageStamp που δημιουργήθηκε παραπάνω.
  • Το αρχείο PDF με υδατογράφημα εικόνας αποθηκεύεται στον ίδιο χώρο αποθήκευσης cloud. Η προεπισκόπηση του αρχείου που προκύπτει εμφανίζεται παρακάτω.
// Για πλήρη παραδείγματα και πηγαίο κώδικα, επισκεφθείτε τη διεύθυνση https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// δημιουργήστε μια παρουσία του PdfApii
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// εισαγωγή εγγράφου PDF
String file = "PdfWithTable.pdf";
// Εικόνα πηγής που θα χρησιμοποιηθεί για υδατογράφημα
String image = "Koala.jpg";
// αριθμός σελίδας όπου θα προστεθεί το υδατογράφημα
int pageNumber = 1;

// δημιουργήστε μια παρουσία του αντικειμένου ImageStamp
ImageStamp stampObject = new ImageStamp()
	.fileName(image)
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(214.)
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
	
	// προσθέστε υδατογράφημα πίσω από το περιεχόμενο της σελίδας
	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
List<com.aspose.asposecloudpdf.model.ImageStamp> stamps = new ArrayList<>();

// Προσθήκη ImageStamp στη λίστα ImageStamps
stamps.add(stampObject);

// καλέστε τη μέθοδο API για να προσθέσετε εικόνα υδατογραφήματος σε PDF
AsposeResponse response = pdfApi.postPageImageStamps(file, pageNumber, stamps,null, null);
Η σφραγίδα εικόνας προστέθηκε σε PDF

Εικόνα 2: - Η σφραγίδα εικόνας προστέθηκε στο έγγραφο PDF.

Τα δείγματα αρχείων που χρησιμοποιούνται στο παραπάνω παράδειγμα μπορείτε να τα κατεβάσετε από τον παρακάτω σύνδεσμο.

Προσθήκη σελίδας PDF ως σφραγίδα υδατογραφήματος

Εκτός από το κείμενο και την εικόνα, η σελίδα PDF μπορεί επίσης να προστεθεί ως υδατογράφημα σε ένα υπάρχον έγγραφο PDF. Παρακάτω δίνονται τα βήματα για τον τρόπο εκπλήρωσης αυτών των απαιτήσεων.

  • Πρώτα απ ‘όλα, δημιουργήστε ένα αντικείμενο της κλάσης PdfApi ενώ μεταβιβάζετε ως ορίσματα Client ID και Client Secret.
  • Δεύτερον, δημιουργήστε μια παρουσία της κλάσης PdfPageStamp. Αυτή η κλάση χρησιμοποιείται για τον καθορισμό της διαδρομής του εγγράφου PDF ενώ θα χρησιμοποιηθεί για το υδατογράφημα.
  • Η μέθοδος PdfPageStamp.pageIndex(..) χρησιμοποιείται για τον καθορισμό του αριθμού σελίδας του αρχείου PDF που θα χρησιμοποιηθεί για το υδατογράφημα.
  • Μεταξύ άλλων μεθόδων, το background(..) είναι σημαντικό, καθώς χρησιμοποιείται για να ορίσει το υδατογράφημα πίσω από το περιεχόμενο PDF ή να το διατηρήσει πάνω από το περιεχόμενο.
  • Στη συνέχεια, δημιουργήστε μια λίστα τύπου PdfPageStamp και προσθέστε το αντικείμενο PdfPageStamp που δημιουργήθηκε παραπάνω στη συλλογή List.
  • Τέλος, καλέστε τη μέθοδο postPagePdfPageStamps(…) της κλάσης PdfApi όπου περνάμε το αρχείο PDF πηγής, το ευρετήριο σελίδας για υδατοσήμανση και τη Λίστα PdfPageStamp ως όρισμα. Η προκύπτουσα έξοδος αποθηκεύεται στον χώρο αποθήκευσης cloud.
// Για πλήρη παραδείγματα και πηγαίο κώδικα, επισκεφθείτε τη διεύθυνση https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Αποκτήστε το ClientID και το ClientSecret από τη διεύθυνση https://cloud.aspose.com
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// δημιουργήστε ένα παράδειγμα PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// εισαγωγή εγγράφου PDF
String sourcePDF = "PdfWithAnnotations.pdf";

// Πηγή PDF που θα χρησιμοποιηθεί για υδατογράφημα
String stampPDF = "rusdoc.pdf";

// αριθμός σελίδας όπου θα προστεθεί το υδατογράφημα
int pageNumber = 1;

// δημιουργήστε μια παρουσία του αντικειμένου PdfPageStamp
PdfPageStamp stampObject = new PdfPageStamp()
	// Αρχείο PDF που θα χρησιμοποιηθεί ως υδατογράφημα
  	.fileName(stampPDF)
	// καθορίστε το ευρετήριο σελίδας που θέλετε να προσθέσετε ως υδατογράφημα
	.pageIndex(1)
	.leftMargin(150.)
	.rightMargin(2.)
	
	// έχουμε ορίσει -ve επάνω περιθώριο για να μετακινήσουμε προς τα πάνω το υδατογράφημα PDF
	.topMargin(-330.)
	.bottomMargin(414.)
	
  	// ορίστε την κατακόρυφη στοίχιση του υδατογραφήματος ως επάνω
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.TOP);
	
  	// φέρτε το υδατογράφημα σε πρώτο πλάνο/ορατό
	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.)
	
  	// ορίστε τον συντελεστή ζουμ στο 0,7 ώστε να είναι συμπιεσμένος μάλλον να εμφανίζεται στο 100%
	.zoom(0.7);

// δημιουργήστε μια λίστα με αντικείμενο PdfPageStamp
List<com.aspose.asposecloudpdf.model.PdfPageStamp> stamps = new ArrayList<>();
	
// Προσθήκη PdfPageStamp στη Λίστα ImageStamps
stamps.add(stampObject);
	
// καλέστε τη μέθοδο API για να προσθέσετε PDF ως υδατογράφημα
AsposeResponse response = pdfApi.postPagePdfPageStamps(sourcePDF, pageNumber, stamps,null, null);
Αρχείο PDF ως υδατογράφημα

Εικόνα 3: - Προεπισκόπηση αρχείου PDF που προστέθηκε ως υδατογράφημα.

Μπορείτε να λάβετε δείγματα αρχείων που χρησιμοποιούνται στο παραπάνω παράδειγμα από τους παρακάτω συνδέσμους

Προσθήκη αριθμού σελίδας ως υδατογράφημα

Οι λεπτομέρειες του αριθμού σελίδας είναι πολύ σημαντικές από την άποψη της χρηστικότητας, καθώς παρέχουν μια σαφή ένδειξη στον αναγνώστη σχετικά με το μήκος του εγγράφου καθώς και τη σελίδα που περνά ο αναγνώστης.

  • Αφού δημιουργήσουμε την παρουσία PdfApi, δημιουργήστε ένα αντικείμενο κλάσης PageNumberStamp.
  • χρησιμοποιήστε την τιμή της μεθόδου(…) της κλάσης PageNumberStamp για να καθορίσετε το μοτίβο για τη σφραγίδα PageNumber.
  • Μια άλλη σημαντική μέθοδος είναι το setStartingNumber(..) που υποδεικνύει το πλήθος από το οποίο θα ξεκινήσει το υδατογράφημα Αριθμός Σελίδας.
  • Το άλλο κομμάτι κώδικα, συμπεριλαμβανομένων των λεπτομερειών περιθωρίου, της αδιαφάνειας, της γωνίας περιστροφής, του παράγοντα oom κ.λπ. είναι το ίδιο με τα παραπάνω αποσπάσματα κώδικα.
  • Πρέπει να καθορίσουμε το startPageNumber και το endPageNumber όπου θα τοποθετηθεί το υδατογράφημα του Page Number.
  • Τέλος, καλέστε το postDocumentPageNumberStamps(…) που λαμβάνει το αρχείο εισόδου PDF, το αντικείμενο PageNumberStamp, τις πληροφορίες σελίδας έναρξης και τέλους ως ορίσματα και προσθέτει το υδατογράφημα Αριθμός σελίδας στο αρχείο προέλευσης.
// Για πλήρη παραδείγματα και πηγαίο κώδικα, επισκεφθείτε τη διεύθυνση https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
				
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// εισαγωγή εγγράφου PDF
String sourcePDF = "PdfWithTable.pdf";

// δημιουργήστε μια παρουσία του αντικειμένου PdfPageStamp
PageNumberStamp stampObject = new PageNumberStamp()

	// Μορφοποίηση για το υδατογράφημα Αριθμός σελίδας
  	.value("Page #")
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(4.)
	
	// ορίστε την κατακόρυφη στοίχιση του υδατογραφήματος ως Κάτω
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.BOTTOM);
	
	// καθορίστε τον αριθμό έναρξης για τον μετρητή
	stampObject.setStartingNumber(3);

	// φέρτε το υδατογράφημα σε πρώτο πλάνο/ορατό
	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);

// φόρμα σελίδας με επίμονα πού να τοποθετήσετε το υδατογράφημα
int startPageNumber = 2;
	
// ευρετήριο σελίδας προς το οποίο θα τοποθετηθεί το υδατογράφημα
int endPageNumber = 3;
	
// καλέστε τη μέθοδο API για να προσθέσετε PDF ως υδατογράφημα
AsposeResponse response = pdfApi.postDocumentPageNumberStamps(sourcePDF, stampObject,startPageNumber, endPageNumber, null, null);
Σφραγίδα αριθμού σελίδας σε PDF

Εικόνα 4: - Προεπισκόπηση του αριθμού σελίδας ως υδατογράφημα σε PDF.

Τα δείγματα αρχείων που χρησιμοποιούνται στο παραπάνω παράδειγμα μπορούν να ληφθούν από τον ακόλουθο σύνδεσμο:

Γρήγορη συμβουλή

Το Aspose.PDF Cloud SDK για Java είναι τόσο ισχυρό που με μερικές γραμμές κώδικα, μπορείτε να μετατρέψετε, JPEG, EPUB, LaTeX, HTML, PS, XSLFo, XPS, SVG, Μορφή SVGPX]2X]2 σε μορφή PDF. Για περισσότερες πληροφορίες, επισκεφτείτε τη σελίδα προϊόντος.

Σύναψη

Σε αυτήν την ανάρτηση ιστολογίου, μάθαμε για τα βήματα για το πώς μπορούμε εύκολα να προσθέσουμε πληροφορίες κειμένου, εικόνας, PDF και PageNumber σε υπάρχοντα έγγραφα PDF χρησιμοποιώντας το Aspose.PDF Cloud SDK για Java. Λάβετε υπόψη ότι τα Cloud SDK μας είναι ανοιχτού κώδικα και μπορείτε επίσης να κατεβάσετε τον πλήρη πηγαίο κώδικα τους και να τον τροποποιήσετε σύμφωνα με τις απαιτήσεις σας. Ο πλήρης πηγαίος κώδικας μπορεί να ληφθεί από το αποθετήριο GitHub. Εάν έχετε οποιοδήποτε σχετικό ερώτημα, μη διστάσετε να επικοινωνήσετε μέσω δωρεάν φόρουμ υποστήριξης.