你好再次:)所以我遇到了在itext7中找到PDfCopy的替代品的问题 . 这行代码遍历要附加的pdf,但在FOR循环中找不到copy.addPage的替换
在从itext5转换为7时,这可以通过哪种方式完成?是应该使用PdfPage而不是PdfCopy还是应该使用另一种方法?
Tnx对此事的任何建议:)
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(inputFilePath));
PdfMerger merger = new PdfMerger(pdfDoc);
Document document = new Document(pdfDoc, PageSize.A4);
FileOutputStream pdfOutputStream = new FileOutputStream(outFile);
PdfReader reader;
PdfCopy copy = new PdfCopy(document, pdfOutputStream);
// list of pages that were appended
List<Integer> appendedPages = new ArrayList<Integer>();
int currentPage = 0;
try {
reader = new PdfReader(inputFilePath);
numberOfPages = pdfDoc.getNumberOfPages();
//load current PDF to new file
for (int page = 0; page < numberOfPages;) {
++currentPage;
copy.addPage(copy.getImportedPage(reader, ++page));
}
} catch (InvalidPdfException e) {
}
// iterate files and add
for (String filePath : filePaths) {
reader = new PdfReader(filePath);
PdfDocument origPdfDoc = new PdfDocument(new PdfReader(filePath));
// unlock if is encrypted
unlockPdf(reader);
//loop over the pages in that document
numberOfPages = origPdfDoc.getNumberOfPages();
for (int page = 0; page < numberOfPages;) {
++currentPage;
appendedPages.add(new Integer(currentPage));
copy.addPage(copy.getImportedPage(reader, ++page));
}
merger.merge(origPdfDoc, 1, origPdfDoc.getNumberOfPages());
origPdfDoc.close();
}