v1.0.6: parser.cfm — PDFBox Loader + BufferedInputStream
This commit is contained in:
@@ -1 +1 @@
|
|||||||
<cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.5</cfoutput>
|
<cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.6</cfoutput>
|
||||||
|
|||||||
+18
-2
@@ -29,8 +29,22 @@
|
|||||||
<cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
|
<cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
|
||||||
<!--- Байты → InputStream --->
|
<!--- Байты → InputStream --->
|
||||||
<cfset bais = createObject("java", "java.io.ByteArrayInputStream").init(fileBytes)>
|
<cfset bais = createObject("java", "java.io.ByteArrayInputStream").init(fileBytes)>
|
||||||
<!--- Открываем PDF --->
|
<cfset bis = createObject("java", "java.io.BufferedInputStream").init(bais)>
|
||||||
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.pdmodel.PDDocument").load(bais)>
|
|
||||||
|
<!--- Пробуем PDFBox 3.x Loader, иначе 2.x PDDocument.load --->
|
||||||
|
<cfset pdfDoc = 0>
|
||||||
|
<cftry>
|
||||||
|
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.Loader").loadPDF(bis)>
|
||||||
|
<cfcatch>
|
||||||
|
<cftry>
|
||||||
|
<cfset pdfDoc = createObject("java", "org.apache.pdfbox.pdmodel.PDDocument").load(bis)>
|
||||||
|
<cfcatch>
|
||||||
|
<cfset arrayAppend(errors, "PDFBox: cannot open PDF — " & cfcatch.message)>
|
||||||
|
</cfcatch>
|
||||||
|
</cftry>
|
||||||
|
</cfcatch>
|
||||||
|
</cftry>
|
||||||
|
<cfif NOT isNumeric(pdfDoc)>
|
||||||
<cfset stripper = createObject("java", "org.apache.pdfbox.text.PDFTextStripper")>
|
<cfset stripper = createObject("java", "org.apache.pdfbox.text.PDFTextStripper")>
|
||||||
|
|
||||||
<cfset pageCount = pdfDoc.getNumberOfPages()>
|
<cfset pageCount = pdfDoc.getNumberOfPages()>
|
||||||
@@ -49,6 +63,8 @@
|
|||||||
</cfloop>
|
</cfloop>
|
||||||
|
|
||||||
<cfset pdfDoc.close()>
|
<cfset pdfDoc.close()>
|
||||||
|
</cfif>
|
||||||
|
<cfset bis.close()>
|
||||||
<cfset bais.close()>
|
<cfset bais.close()>
|
||||||
|
|
||||||
<cfcatch>
|
<cfcatch>
|
||||||
|
|||||||
Reference in New Issue
Block a user