Java PDF добавляет слои, поддерживает многостраничное добавление слоев, следующим образом
Код:
Импорт 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; импорт com.ithtpdf.text.pdf.pdfcontentbyte; com.ithtpdf.text.pdf.pdfreader; import com.ithtpdf.text.pdf.pdfstamper; public class pdfutils { /** * pdfadd layer * * @param srcpdf * @pory pail Path Должен быть номер (в сочетании с количеством страниц, соответствующих PDF в порядке имен изображений и номеров) * @return * @throws ioexception * @throws documentException */ public static String Marklocalimage42dist (String srcpdf, String distpdf, list <string> layerpathrare) trows ioexcept File (srcpdf); if (! srcpdffile.exists ()) {бросить новый allosalargumentException («файл PDF, который необходимо добавить к слою, не может быть найден»); } Pdfreader reader = new Pdfreader (srcpdf); int n = reader.getNumberOfPages (); // количество PDF -страниц PDFStamper Stamp = new PDFStamper (Reader, New FileOutputStream (distPDF)); Pdfcontentbyte over; 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) {бросить новое allosalargumentException (" - это имя слоя номер"); } Image img = image.getInstance (layerPath); img.setabsoluteposition (0, 0); if (n> 0 && n> = integer.parseint (currentPageno)) {over = smap.getOvercontent (integer.parseint (currentPageno)); Over.addimage (IMG); }} stamp.close (); reader.close (); вернуть distpdf; }}тест:
public static void main (string [] args) бросает 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 больше.