Преобразование файлов в PDF и присоединение к другому PDF в Coldfusion - PullRequest
0 голосов
/ 31 марта 2011

Итак, я делаю проект, который генерирует PDF информацию, которая была ранее заполнена в форме.Наряду с этой информацией, документы были приложены в поддержку информации в форме.

Я генерирую PDF с обычной информацией из моей БД, но я также хочу преобразовать их загруженные файлы (если .doc или .docx) в формат PDF и вставить в тот же PDF.(Так что все это в одном месте.)

Я знаю, как конвертировать в PDF, проблема в том, как прикрепить эти недавно созданные PDF-файлы к текущему с другой информацией на нем?

Ответы [ 2 ]

4 голосов
/ 31 марта 2011

у вас есть 2 варианта:

  1. объединить все PDF-файлы в один, используя <cfpdf action="merge"...>

  2. действительно прикрепляют файлы в вашем основном 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: Добавление вложений на уровне документа в PDF с iText

3 голосов
/ 31 марта 2011

Вам необходимо использовать тег CFPDF и использовать действие merge.

...