v1.0.145: PDFBox — write to temp file, load via File

This commit is contained in:
2026-06-23 12:03:46 +04:00
parent a6c2c58948
commit bf25600f56
+7 -3
View File
@@ -11,13 +11,17 @@
<cfset var out = {elements: [], errors: []}>
<cftry>
<cfset var bais = createObject("java", "java.io.ByteArrayInputStream").init(fileBytes)>
<cfset var bis = createObject("java", "java.io.BufferedInputStream").init(bais)>
<cfset var pdfDoc = 0>
<cftry>
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.Loader").loadPDF(bis)>
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.Loader").loadPDF(bais)>
<cfcatch>
<cftry>
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.pdmodel.PDDocument").load(bais)>
<cfset var tmpFile = createObject("java", "java.io.File").createTempFile("pdfbox", ".pdf")>
<cfset var fos = createObject("java", "java.io.FileOutputStream").init(tmpFile)>
<cfset fos.write(fileBytes)>
<cfset fos.close()>
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.pdmodel.PDDocument").load(tmpFile)>
<cfset tmpFile.delete()>
<cfcatch>
<cfset arrayAppend(out.errors, "PDFBox: cannot open — " & cfcatch.message)>
</cfcatch>