将文件转换为PDF并附加到Coldfusion中的另一个PDF

时间:2011-03-31 16:02:49

标签: coldfusion pdf-generation

所以我正在做一个项目,该项目生成以前在表单中填写的PDF信息。除了这些信息外,还附上了文件以支持表格中的信息。

我使用来自我的数据库的常规信息生成PDF,但我也想将他们上传的文件(如果.doc或.docx)转换为PDF格式并粘贴在同一PDF中。 (所以它在一个地方。)

我知道如何转换为PDF,问题是如何将这些新生成的PDF附加到当前的PDF上以及其他信息?

2 个答案:

答案 0 :(得分:4)

你有两个选择:

  1. 使用<cfpdf action="merge"...>

  2. 将所有PDF合并为一个
  3. 真的附上主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>
    
  4. 刚刚找到我获得该代码的地方:ColdFusion 9: Adding Document Level Attachments to a PDF with iText

答案 1 :(得分:3)

您需要使用CFPDF标记,并使用merge操作。