O Java PDF adiciona camadas, suporta adição de camada de várias páginas, como segue
Código:
importar java.io.file; importar java.io.fileOutputStream; importar java.io.ioException; importar java.util.list; importar com.ithtpdf.text.documentException; import com.ithtpdf.text.Image; importEnt. com.ithtpdf.text.pdf.pdfreader; import com.ithtpdf.text.pdf.pdfstamper; public class Pdfutils { /** * pdfadd camada * * * * @param srcpdf * PDF original * @param distpdf * synthes * sinthes O nome deve ser o número (combinado no número de páginas correspondentes a pdf na ordem dos nomes e números de imagens) * @return * @throws ioexception * @throws documentException */ public static string marklocalImage42dist (strcpdf, string distpdf, list <freting> layerPatharPePerPexexception, rcpdf, string, list <fileerPathP) (strcpdf, string, string, list <fileerPathP) (strcpdf, strcpdf, list <fileerPathr). Arquivo (srcpdf); if (! srcpdffile.exists ()) {lança nova ilegalArgumentException ("o arquivo pdf que precisa ser adicionado à camada não puder ser encontrado"); } Pdfreader leitor = new PDFReader (srcpdf); int n = leitor.getNumberOfPages (); // número de páginas em PDF PDFSTAMPER Samp = novo pdfstamper (leitor, new FileOutputStream (distpdf)); PdfContentByte sobre; for (string layerPath: layerpatharr) {arquivo camadaerfile = novo arquivo (camada); String currentpageno = layerfile.getName (). Substring (0, layerfile.getName (). LastIndexOf ("."); // nome da imagem (correspondente ao número de páginas) boolean isnum = currentpageno.matches ("[0-9]+"); if (! isnum) {lança novo ilegalArgumentException ("é o nome da camada um número"); } Imagem img = image.getInstance (layerPath); img.setabsolutePosition (0, 0); if (n> 0 && n> = Integer.parseint (currentPageno)) {over = Stamp.GeGeOverContent (Integer.parseint (currentPageno)); over.addimage (IMG); }} Stamp.close (); leitor.close (); retornar distpdf; }}teste:
public static void main (string [] args) lança ioexception, documentException {list <string> imgurllist = new ArrayList <> (); imgurllist.add ("d: /ts/testpdf/1.png"); //imgurllist.add("d:/ts/testpdf/2.png "); imgurllist.add ("d: /ts/testpdf/3.png"); marklocalImage42dist ("d: /ts/testpdf/testpdf.pdf", "d: /ts/testpdf/testpdf2.pdf", imgurllist); }resultado:
PDF original:
Após a síntese pdf:
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.