v1.0.147: PDFBox — load(byte[]) instead of streams/files
This commit is contained in:
+2
-8
@@ -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")>
|
||||||
|
|||||||
Reference in New Issue
Block a user