Java PDFはレイヤーを追加し、次のようにマルチページ層の追加をサポートします
コード:
java.io.file;インポート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.pdf.pdf.pdf.pdf.pdf.pdfcontentbyte; com.ithtpdf.text.pdf.pdfreader; Import com.ithtpdf.text.pdf.pdfstamper; public class pdfutils { /** * pdfadd layer * * @param srcpdf *元のpdfファイルパス名前は番号(画像名と数字の順序でPDFに対応するページ数に組み合わされている必要があります) if(!srcpdffile.exists()){show new IllegalArgumentException( "レイヤーに追加する必要があるPDFファイルは見つかりません"); } pdfreader reader = new pdfreader(srcpdf); int n = reader.getNumberOfPages(); // pdfページの数pdfstamperスタンプ= new pdfstamper(reader、new fileoutputstream(distpdf)); pdfcontentbyteオーバー; for(string layerpath:layerpatharr){file layerfile = new file(layerpath); string currentPageno = layerfile.getName()。substring(0、layerfile.getName()。lastIndexof( "。")); //画像名(ページ数に対応)boolean isnum = currentPageno.matches( "[0-9]+"); if(!isnum){新しいIllegalargumentException( "layer name a number"); } image 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(); distpdfを返します。 }}テスト:
public static void main(string [] args)throws 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); }結果:
オリジナルPDF:
合成後のPDF:
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。