在java Web应用程序中使用PDFBox。我有一个代表多页绘图或蓝图的PDF文件。还有其他PDF文件表示对父文件的修改。我想将这些页面插入到第1页和第2页之间的父PDF文件中。
我找到了关于合并和添加页面的文章,但不完全是我需要的。
一些指导会很有帮助。
到目前为止我的代码:
try{
InputStream in = null;
OutputStream out = null;
PDDocument document = null;
String parentfile = "";
for(DLDrawingFile dldf: dldwg.getDldrawingfileList()){
System.out.println("DocsVisionDrawingList: AcrobatRotateAndMerge_3: " + dldf.getDrawingnumber() + " " + dldf.getTypeID());
if(parentfile.equals("") && dldf.getTypeID().equals("DRAWING")){
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(attachmentRoot_DOMAIN,attachmentRoot_ID,attachmentRoot_PW);
SmbFile file = new SmbFile("smb:" + dldf.getDldrawingfile(), auth);
file.connect();
File file2 = new File(dldf.getDldrawingfile());
in = new BufferedInputStream(new SmbFileInputStream(file));
document = PDDocument.load(in);
parentfile = dldf.getDldrawingfile();
System.out.println("DocsVisionDrawingList: AcrobatRotateAndMerge_3: Parent: " + parentfile);
}
else{
System.out.println("DocsVisionDrawingList: AcrobatRotateAndMerge_3: Child: " + dldf.getDldrawingfile());
//this is where the child files would be iterated over.
}
}
}
catch(Exception e){
}
警告:这是一个很好的初学者解决方案。然而,在下面的评论中,MLK提到这是不完整的。这种方法的另一个问题是,它只在代码的最后一位工作,因为它关闭了costream,这将阻止您添加任何未来的文本
我知道这是一个老帖子,但如果有人遇到同样的问题,这里有一个anwser为我工作。Tilman Hausherr的方法对我有效
PDDocument document = new PDDocument();
for (int numberOfPages = 0; numberOfPages < 10; numberOfPages++) {
//Creating a blank page
PDPage blankPage = new PDPage();
//Adding the blank page to the document
document.addPage(blankPage);
}
PDPageTree mergePD = document.getPages();
PDDocument doc1 = PDDocument.load(file1);
PDDocument doc2 = PDDocument.load(file2);
//the left argument is the page number of the pdf that is being inserted
//the right argument is the page number of the original pdf that places the inserted pdf
mergePD.insertAfter(doc1.getPage(0),document.getPage(0)); //creates a new page after page 0
mergePD.insertAfter(doc2.getPage(0),document.getPage(1)); //creates a new page after page 1
问题内容: 如何将多个PDF文件合并/转换为一个大PDF文件? 我尝试了以下操作,但是目标文件的内容不符合预期: 我需要一个非常简单/基本的命令行(CLI)解决方案。最好的办法是,如果我可以将合并/转换的输出直接传送到管道中(就像我之前在这里提出的问题中最初尝试的那样:Linux管道(convert->pdf2ps-> lp)。 问题答案: 抱歉,我设法使用Google自己找到了答案,还有些运气:
我正在尝试将多个pdf页面合并为一个pdf页面。有很多iText的例子展示了如何将pdf页面合并到一个文件中,但是我需要所有的页面都放在一个页面中(一路上缩小它们的宽度和高度) 编辑:尝试从这里这个代码,但它只是合并成一个文件的pdf页面,我需要他们收缩成一个单一的页面
我需要将N个PDF文件合并成一个。我先创建一个空白文件 稍后,我将遍历html字符串数组 我不太明白PdfWriter和PDFCopy之间的区别。
问题内容: 我有一个带有汉字文本的文件,我想将这些文本复制到另一个文件中。但是文件输出混乱了中文字符。注意,在我的代码中,我已经在使用“ UTF8”作为编码了: 问题答案: 在这种情况下,请勿使用FileReader,因为它不允许您指定输入编码。在FileInputStream上构造一个InputStreamReader。 像这样:
问题内容: 在python中(对于在GUI中创建的一个图形),我可以使用以下方法将图形保存在.jpg和.pdf下: 要么 我想使用一个文件将多个图形保存为.pdf或.jpg(就像在数学实验室中所做的一样)。有人可以帮忙吗? 问题答案: 使用为您解决问题。将您的对象传递给方法。 例如,如果您打开了一大堆对象并将其保存到多页PDF中,则可以执行以下操作:
这是一个代码示例, 我犯的错误, [pdf.py:1629]Traceback(最近的最后一次调用):文件test.py,第22行,在pdfWriter.write(newFile)File"/home/ubuntu/Ritesh/work/lib/python3.5/site-包/PyPDF2/pdf.py",第482行,在写自己。_sweepIndirectReferences(extrana