2009-10-19 2 views
2

У нас есть PDF-файлы, которые включают стандартные формы PDF. Мы хотели бы объединить их и заполнить данные в полях одновременно.В ColdFusion можно ли переименовать поле формы PDF с CFPDF?

Проблема в том, что иногда мы можем объединить один и тот же документ более чем в конечном документе.

Есть ли способ переименовать поля (Прикрепить __ #) в PDF, чтобы повторные документы не конфликтуют?

Я могу сделать это с помощью iText-кода, я тестирую код CFPDF/CFPDFFORM, чтобы избавиться от iText.

ответ

1

Вы не можете переименовать поля cfpdf или cfpdfform. Вы можете обойти проблему, заполнив и сглаживая каждую форму, прежде чем объединить их.

Вот упрощенный пример:

<!--- populate each form ---> 
<cfloop from="1" to="#arrayLen(files)#" index="i"> 
    <cfset destination = "#i#.pdf" /> 
    <!--- fill in form fields ---> 
    <cfpdfform 
     action  = "populate" 
     source  = "#pdf_source_file#" 
     destination = "#destination#" 
    > 
     <!--- form params here ---> 
    </cfpdfform> 

    <!--- flatten file ---> 
    <cfpdf 
     action  = "write" 
     source  = "#destination#" 
     destination = "#destination#" 
     flatten  = "yes" 
    /> 
</cfloop> 

<!--- merge flattened files ---> 
<cfpdf action="merge" name="output"> 
    <cfloop from="1" to="#arrayLen(files)#" index="i"> 
     <cfpdfparam source="#i#.pdf"> 
    </cfloop> 
</cfpdf> 

<!--- return the full pdf ---> 
<cfcontent type="application/pdf" reset="true" variable="#toBinary(output)#"> 
+0

Спасибо. К сожалению, мы не хотим сглаживать их, чтобы пользователь мог редактировать их после загрузки. –

Смежные вопросы