v1.0.147: PDFBox — load(byte[]) instead of streams/files

This commit is contained in:
2026-06-23 12:09:37 +04:00
parent 73b647f58d
commit ea3299df80
+2 -8
View File
@@ -10,20 +10,14 @@
<cfargument name="fileBytes" type="binary"> <cfargument name="fileBytes" type="binary">
<cfset var out = {elements: [], errors: []}> <cfset var out = {elements: [], errors: []}>
<cftry> <cftry>
<cfset var bais = createObject("java", "java.io.ByteArrayInputStream").init(fileBytes)>
<cfset var pdfDoc = 0> <cfset var pdfDoc = 0>
<cftry> <cftry>
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.Loader").loadPDF(bais)> <cfset pdfDoc = createObject("java", "org.apache.pdfbox.Loader").loadPDF(fileBytes)>
<cfcatch> <cfcatch>
<cftry> <cftry>
<cfset var parser = createObject("java", "org.apache.pdfbox.pdfparser.PDFParser").init(bais)> <cfset pdfDoc = createObject("java", "org.apache.pdfbox.pdmodel.PDDocument").load(fileBytes)>
<cfset parser.parse()>
<cfset pdfDoc = parser.getPDDocument()>
<cfcatch> <cfcatch>
<cfset arrayAppend(out.errors, "PDFBox: cannot open — " & cfcatch.message)> <cfset arrayAppend(out.errors, "PDFBox: cannot open — " & cfcatch.message)>
</cfcatch>
</cftry>
</cfcatch>
</cftry> </cftry>
<cfif NOT isNumeric(pdfDoc)> <cfif NOT isNumeric(pdfDoc)>
<cfset var stripper = createObject("java", "org.apache.pdfbox.text.PDFTextStripper")> <cfset var stripper = createObject("java", "org.apache.pdfbox.text.PDFTextStripper")>