1

我在将数千个 PDF 文件写入和合并为单个 PDF 文件时遇到性能问题。每个 PDF 文件大约 1.76MB。我的 JVM 堆大小仅默认为 512。我已将 JAVA 堆大小增加到 2048 MB。以下代码为 1000 个 pdf 编写 pdf 表单字段,并将 1000 个 pdf 合并为单个。超过 1000 个 pdf 文件会在 Coldfusion-out.log 文件中引发以下错误日志。

2016 年 12 月 30 日 18:43:12 PM 信息 [scheduler-1] - 运行客户端存储清除

我该如何解决这个问题?

我正在使用以下代码编写一些 pdf 字段并合并为单个 pdf:

<cfset outputFilePath = "PDF_#dateformat(now(),"dd_mm_yyyy")#">
<cfloop from="1" to="1500" index="i">
    <cfset RandToken = createUUID()>
    <cfset inputFileName = "Test-cert.pdf">
    <cfif directoryExists("C:\ColdFusion10\cfusion\wwwroot\outputPDF\#outputFilePath#") EQ false>       
        <cfdirectory action="create" directory="C:\ColdFusion10\cfusion\wwwroot\outputPDF\#outputFilePath#">   
    </cfif>
    <cfset OutputFile = "outputPDF/#outputFilePath#/#RandToken#_outputPDF.pdf">
    <cfpdfform source="#inputFileName#" destination="#OutputFile#" action="populate">
        <cfloop from="1" to="10" index="CurrentField">
            <cfset FormField = "BirthDate">
            <cfset FormValue = "12/24/1987">
            <cfpdfformparam name="#FormField#" value="#FormValue#" />   
        </cfloop>   
        <cfloop from="1" to="3" index="Fieldvalue">
            <cfset FormField = "fullName">
            <cfset WorkingText = "Sathish#Fieldvalue#">
            <cfpdfformparam name="#FormField#" value="#WorkingText#" />
        </cfloop>
    </cfpdfform>
    <cfpdf action="write" flatten="yes" overwrite="yes" source="#OutputFile#" destination="#OutputFile#">   
</cfloop>

<cfpdf action="merge"  directory="C:\ColdFusion10\cfusion\wwwroot\outputPDF\#outputFilePath#" order="name" ascending="yes" stoponerror="false" overwrite="yes" destination="mergedPDf.pdf" />

<cfdirectory action="list" directory="C:\ColdFusion10\cfusion\wwwroot\outputPDF\#outputFilePath#" recurse="yes" name="resultOfZip"/>
<cfloop query="resultOfZip">
    <cffile action="delete" file="C:\ColdFusion10\cfusion\wwwroot\outputPDF\#outputFilePath#\#resultOfZip.NAME#">
</cfloop>
<cfheader name="Content-Disposition" value='inline;filename="mergedPDf.pdf"'>
<cfcontent type="application/pdf" file="mergedPDf.pdf" deleteFile="yes">

我在以下配置机器上运行上面的代码:windows 10,RAM 6 GB,CF10 谁能建议我如何将所有文件合并到一个 pdf 中?

4

0 回答 0