所以我正在做一个项目,该项目生成以前在表单中填写的PDF信息。除了这些信息外,还附上了文件以支持表格中的信息。
我使用来自我的数据库的常规信息生成PDF,但我也想将他们上传的文件(如果.doc或.docx)转换为PDF格式并粘贴在同一PDF中。 (所以它在一个地方。)
我知道如何转换为PDF,问题是如何将这些新生成的PDF附加到当前的PDF上以及其他信息?
答案 0 :(得分:4)
你有两个选择:
使用<cfpdf action="merge"...>
真的附上主pdf中的文件,但由于CFPDF不支持(但是?),你必须使用iText:
<cfscript>
try {
// Source of THE main PDF and destination file
inputFile = ExpandPath("myDoc.pdf");
outputFile = ExpandPath("myDocPlusAttachments.pdf");
// the file to attach (can be of any type)
attach1 = ExpandPath("myAttachment.doc");
// prepare everything
reader = createObject("java", "com.lowagie.text.pdf.PdfReader").init( inputFile );
outStream = createObject("java", "java.io.FileOutputStream").init( outputFile );
stamper = createObject("java", "com.lowagie.text.pdf.PdfStamper").init( reader, outStream );
// attachment the file
stamper.addFileAttachment("My Attached File", javacast("null", ""), attach1, "myAttachment.doc");
// display the attachment pane when the pdf opens (Since 1.6)
writer = stamper.getWriter();
writer.setPdfVersion( writer.VERSION_1_6 );
}
finally {
// always cleanup objects
if (IsDefined("stamper")) {
stamper.close();
}
if (IsDefined("outStream")) {
outStream.close();
}
}
</cfscript>
刚刚找到我获得该代码的地方:ColdFusion 9: Adding Document Level Attachments to a PDF with iText
答案 1 :(得分:3)
您需要使用CFPDF标记,并使用merge
操作。