Føj vandmærke til PDF

Et vandmærke er tekst eller et billede, der vises enten foran eller bagved eksisterende dokumentindhold, som et stempel. For eksempel kan du anvende et “Fortroligt” vandmærke på sider med følsomme oplysninger. Vandmærkerne kan bruges til at beskytte fortrolige oplysninger og til at angive gyldigheden af et juridisk dokument. Du kan også vandmærke enhver papirseddel, hvor de hjælper med at forhindre forfalskning. I denne artikel vil vi diskutere funktionerne relateret til vandmærke i PDF-dokument.

PDF-manipulation REST API

Aspose.PDF Cloud er vores prisvindende REST API, der tilbyder mulighederne for at skabe, manipulere og gengive PDF filer til andre understøttede formater, inklusive DOCX, PPTX, XLSX, XPS, SVG, JPEG, osv. Lad os nu tale om] [F8] Cloud SDK til Java, som er en [Aspose] Cloud. Aspose.PDF Cloud API. Det giver alle funktionerne i Cloud REST API inklusive mulighederne for at tilføje vandmærke til PDF ved hjælp af Java-programmeringssprog.

For at bruge Java Cloud SDK er det første trin at installere Aspose.PDF Cloud SDK for Java. Cloud SDK er tilgængelig til download over Maven | GitHub. Nedenstående er detaljerne om, hvordan man downloader og bruger Aspose.Pdf.jar i Maven-byggeprojektet.

Tilføj følgende afhængigheder i din pom.xml-fil.

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

Tilføj tekstvandmærke i PDF ved hjælp af REST API

For at bruge Cloud API’er skal du først registrere en konto på Aspose.Cloud dashboard, hvor du vil se dit personlige klient-id og klienthemmelighedsoplysninger. Disse er vigtige, mens du får adgang til API’erne. Nedenstående er detaljerne om, hvordan du tilføjer tekstvandmærke til eksisterende PDF-dokument ved hjælp af Java

  • Først skal du angive dit klient-id og klienthemmelighedsoplysninger i forhold til to variabler.
  • For det andet skal du oprette et objekt af PdfApi-klassen ved at angive klient-id og klienthemmelighed som argumenter.
  • For det tredje skal du oprette et objekt af klassen TextState, hvor vi angiver skrifttypenavnet som Arial og skriftstørrelsen som 14.
  • Nu skal vi oprette en forekomst af TextStamp-klassen. Mens vi bruger dette objekt, angiver vi HorizontalAlignment som et center, tekststempelværdi, skriftstørrelse og skrifttypedetaljer er specificeret ved hjælp af textState(..)-metoden, hvor TextState-objekt oprettet i ovenstående trin videregives som et argument. Margindetaljerne og VerticalAlignment er også angivet som Center.
  • For at vise TextStamp i baggrunden, bruges baggrunds(..) metoden med et argument som sandt.
  • Desuden er opacitet, rotateAngle, Zoom-faktor og XY-indrykning for stemplet også specificeret.
  • Opret nu et objekt af Liste-klassen med typen TextStamp og tilføj det ovenfor oprettede stempelobjekt til denne liste.
  • Til sidst skal du kalde metoden postPageTextStamps(..) af PdfAPi og sende input PDF, sidenummer og stempler List som et argument for at starte stempelprocessen.
// For komplette eksempler og kildekode, besøg venligst https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Hent ClientID og ClientSecret fra 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 = "";

// oprette en forekomst af PdfApi ved hjælp af Client ID og Client Secret detaljer
com.aspose.asposecloudpdf.api.PdfApi pdfApi = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientId);

// opret et objekt af TextState og angiv skrifttypeformateringsdetaljer
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.);
        
// opret et List-objekt med typen TextStamp
List<com.aspose.asposecloudpdf.model.TextStamp> stamps = new ArrayList<>();

// tilføje TextStamp-forekomst til listen over TextStamps
stamps.add(stamp);

// kald metode til postTextStamp til første side af PDF-fil
com.aspose.asposecloudpdf.model.AsposeResponse response = pdfApi.postPageTextStamps(sourceFileName, pageNumber, stamps,cloudStorage, folder);
TextStamp tilføjet til PDF

Billede 1:- Tekststempel tilføjet til PDF-dokument.

Eksempelfilerne brugt i ovenstående eksempel kan downloades fra følgende links:

Sådan tilføjes billedvandmærke i PDF ved hjælp af Java

Med færre kodelinjer kan billedvandmærket nemt tilføjes til et PDF-dokument. Nedenstående er trinene til, hvordan du kan tilføje et JPEG-billede til en PDF-fil.

  • For det første er trin at oprette et PdfApi-objekt, mens du sender ClientSecret og ClientID som argument.
  • Det næste trin er at oprette ImageStamp-objekt, hvor vi definerer billedfilen, der skal stemples, margindetaljer og VerticalAlignment. I vores tilfælde har vi valgt Center-værdi fra VerticalAlignment-opregning.
  • Indstil ImageStamp.background(True), så billedet vises bag indholdet over siden. Ellers vises det øverst på sidens indhold.
  • Opret et listeobjekt af typen ImageStamp, og tilføj ImageStamp-objekt oprettet i andet trin til denne samling.
  • Til sidst skal du kalde postPageImageStamps(…)-metoden for PdfApi-klassen, hvor vi sender input-PDF, sidenummer for vandmærke og ImageStamp-liste oprettet ovenfor som argument.
  • PDF-filen med billedvandmærke gemmes på samme skylager. Forhåndsvisningen af den resulterende fil vises nedenfor.
// For komplette eksempler og kildekode, besøg venligst https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// oprette en instans af PdfApii
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// input PDF-dokument
String file = "PdfWithTable.pdf";
// Kildebillede, der skal bruges til vandmærke
String image = "Koala.jpg";
// sidenummer, hvor vandmærke vil blive tilføjet
int pageNumber = 1;

// oprette en forekomst af ImageStamp-objekt
ImageStamp stampObject = new ImageStamp()
	.fileName(image)
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(214.)
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
	
	// tilføje vandmærke bag sideindhold
	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);

// oprette en liste over ImageStamp-objekt
List<com.aspose.asposecloudpdf.model.ImageStamp> stamps = new ArrayList<>();

// Tilføj ImageStamp til listen over ImageStamps
stamps.add(stampObject);

// kald API-metoden for at tilføje vandmærkebillede til PDF
AsposeResponse response = pdfApi.postPageImageStamps(file, pageNumber, stamps,null, null);
Billedstempel tilføjet til PDF

Billede 2:- Billedstempel tilføjet til PDF-dokument.

Eksempelfilerne brugt i ovenstående eksempel kan downloades fra følgende link.

Tilføj PDF-side som vandmærkestempel

Ud over tekst og billede kan PDF-siden også tilføjes som et vandmærke til et eksisterende PDF-dokument. Nedenfor er trinene til, hvordan man opfylder disse krav.

  • Først og fremmest skal du oprette et objekt af PdfApi-klassen, mens du sender Client ID og Client Secret som argumenter.
  • For det andet skal du oprette en forekomst af klassen PdfPageStamp. Denne klasse bruges til at angive stien til PDF-dokument, mens den vil blive brugt til vandmærke.
  • PdfPageStamp.pageIndex(..)-metoden bruges til at angive sidenummeret på PDF-filen, som skal bruges til vandmærke.
  • Blandt andre metoder er baggrund(..) vigtig, da den bruges til at sætte vandmærke bag PDF-indhold eller holde det over indholdet.
  • Opret derefter en liste af typen PdfPageStamp og tilføj det ovenfor oprettede PdfPageStamp-objekt til List-samlingen.
  • Kald endelig metoden postPagePdfPageStamps(…) af PdfApi-klassen, hvor vi sender kilde-PDF-fil, sideindeks, der skal vandmærkes, og List of PdfPageStamp som argument. Det resulterende output gemmes på cloud storage.
// For komplette eksempler og kildekode, besøg venligst https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Få ClientID og ClientSecret fra https://cloud.aspose.com
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";

// oprette PdfApi-instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// input PDF-dokument
String sourcePDF = "PdfWithAnnotations.pdf";

// Kilde PDF, der skal bruges til vandmærke
String stampPDF = "rusdoc.pdf";

// sidenummer, hvor vandmærke vil blive tilføjet
int pageNumber = 1;

// oprette en forekomst af PdfPageStamp-objektet
PdfPageStamp stampObject = new PdfPageStamp()
	// PDF-fil, der skal bruges som vandmærke
  	.fileName(stampPDF)
	// angiv det sideindeks, du vil tilføje som vandmærke
	.pageIndex(1)
	.leftMargin(150.)
	.rightMargin(2.)
	
	// vi har sat -ve topmargen for at flytte vandmærke-PDF'en op
	.topMargin(-330.)
	.bottomMargin(414.)
	
  	// indstil lodret justering af vandmærket som Top
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.TOP);
	
  	// bringe vandmærket i forgrunden/synligt
	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.)
	
  	// indstil zoomfaktoren til 0,7, så den er klemt i stedet for, at den vises i 100 %
	.zoom(0.7);

// oprette en liste over PdfPageStamp-objekt
List<com.aspose.asposecloudpdf.model.PdfPageStamp> stamps = new ArrayList<>();
	
// Tilføj PdfPageStamp til listen over billedstempler
stamps.add(stampObject);
	
// kald API-metoden for at tilføje PDF som vandmærke
AsposeResponse response = pdfApi.postPagePdfPageStamps(sourcePDF, pageNumber, stamps,null, null);
PDF-fil som vandmærke

Billede 3:- Forhåndsvisning af PDF-fil tilføjet som vandmærke.

Eksempelfiler brugt i ovenstående eksempel kan downloades fra følgende links

Tilføj sidenummer som vandmærke

Sidetalsdetaljerne er meget vigtige ud fra et brugervenligt perspektiv, da de giver en klar indikation til læseren om længden af dokumentet såvel som den side, læseren gennemgår.

  • Når vi har oprettet PdfApi-instansen, skal du oprette et objekt af klassen PageNumberStamp.
  • brug metodeværdi(…) af klassen PageNumberStamp til at angive mønsteret for PageNumber-stempel.
  • En anden vigtig metode er setStartingNumber(..), som angiver antallet fra hvilket sidenummer vandmærke skal starte.
  • Den anden kodebit inklusive margindetaljer, opacitet, rotationsvinkel, oom-faktor osv. er de samme som ovenstående kodestykker.
  • Vi skal angive startPageNumber og endPageNumber, hvor sidenummerets vandmærke skal placeres.
  • Til sidst skal du kalde postDocumentPageNumberStamps(…), som tager input-PDF-fil, PageNumberStamp-objekt, start- og slutsideoplysninger som argumenter og tilføjer sidenummervandmærket i kildefilen.
// For komplette eksempler og kildekode, besøg venligst https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java

// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
				
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// input PDF-dokument
String sourcePDF = "PdfWithTable.pdf";

// oprette en forekomst af PdfPageStamp-objektet
PageNumberStamp stampObject = new PageNumberStamp()

	// Format for sidenummer vandmærke
  	.value("Page #")
	.leftMargin(1.)
	.rightMargin(2.)
	.topMargin(3.)
	.bottomMargin(4.)
	
	// indstil lodret justering af vandmærke som Bund
	.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.BOTTOM);
	
	// angiv startnummeret for tælleren
	stampObject.setStartingNumber(3);

	// bringe vandmærket i forgrunden/synligt
	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);

// stirresideformular hvor man skal sætte vandmærke
int startPageNumber = 2;
	
// sideindeks, mod hvilket vandmærke skal placeres
int endPageNumber = 3;
	
// kald API-metoden for at tilføje PDF som vandmærke
AsposeResponse response = pdfApi.postDocumentPageNumberStamps(sourcePDF, stampObject,startPageNumber, endPageNumber, null, null);
Sidenummer stempel i PDF

Billede 4:- Forhåndsvisning af sidenummer som vandmærke i PDF.

Eksempelfilerne brugt i ovenstående eksempel kan downloades fra følgende link:

Hurtigt tip

Aspose.PDF Cloud SDK til Java er så kraftfuld, at du med et par kodelinjer kan konvertere JPEG, EPUB, LaTeX, HTML, PS, XSLFo, XPS, SVG, DOCX, [PCL] format til F4 [PCL] format For mere information, besøg venligst produktsiden.

Konklusion

I dette blogindlæg har vi lært om trinene til, hvordan vi nemt kan tilføje tekst-, billede-, PDF- og sidenummeroplysninger til eksisterende PDF-dokumenter ved hjælp af Aspose.PDF Cloud SDK for Java. Bemærk venligst, at vores Cloud SDK’er er open source, og du kan også downloade deres komplette kildekode og ændre den i henhold til dine krav. Den komplette kildekode kan downloades fra GitHub-depotet. Hvis du har nogen relaterede forespørgsler, er du velkommen til at kontakte via gratis supportfora.