Java PDF fügt Schichten hinzu, unterstützt die Mehrseitigenschichtabzug wie folgt
Code:
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;import com.ithtpdf.text.DocumentException;import com.ithtpdf.text.Image;import com.ithtpdf.text.pdf.PdfContentByte;import com.ithtpdf.text.pdf.PdfReader;import com.ithtpdf.text.pdf.PdfStamper;public class PdfUtils { /** * PDFAdd layer* * @param srcPdf * Original PDF file path * @param distPdf * Synthesize PDF output path * @param layerPathArr * Layer path list, the layer name must be number (kombiniert auf der Anzahl der Seiten, die PDF in der Reihenfolge der Bildnamen und -zahlen entsprechen) * @return * @throws ioException * @throws documentException */ public static String marklocalimage42Dist (String srcpdf, String Distpdf, List <string> layerPatharr) löscht IOException, documentException {Datei {Datei SrcPDFFILE {Datei {Datei {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{file) = New File) (srcpdf); if (! } Pdffreader reader = new pdfreader (SRCPDF); int n = reader.getNumberofpages (); // Anzahl der PDF -Seiten pdfStamper stempel = neuer pdfstamper (Leser, neuer FileOutputStream (DISTPDF)); PdfContentByte über; für (String LayerPath: LayerPatharr) {File LayerFile = New Datei (LayerPath); String currentPageno = layerFile.getName (). Substring (0, layerFile.getName (). LastIndexof (".")); // Bildname (entsprechend der Anzahl der Seiten) boolean isnum = currentpageno.matches ("[0-9]+"); if (! isnum) {werfen neuer illegalArgumentException ("ist der Schichtname eine Nummer"); } Bild img = image.getInstance (LayerPath); img.setabsoluteposition (0, 0); if (n> 0 && n> = integer.parseInt (currentPageno)) {Over = stamp.getOverContent (Integer.ParseInt (CurrentPageno)); Over.addimage (IMG); }} stamp.close (); reader.close (); return distpdf; }}prüfen:
public static void main (String [] args) löst ioException, documentException {list <string> imgurllist = new ArrayList <> () aus; imgurllist.add ("d: /ts/testpdf/1.png"); //imgurlllist.add("d:/ts/testpdf/2.png "); imgurllist.add ("d: /ts/testpdf/3.png"); MarkLocalImage42Dist ("D: /ts/Testpdf/Testpdf.pdf", "D: /ts/Testpdf/Testpdf2.pdf", Imgurlllist); }Ergebnis:
Original PDF:
Nach der Synthese PDF:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.