v1.0.79: .doc → XWPF первым (после конвертации), HWPF только fallback
This commit is contained in:
+18
@@ -318,10 +318,19 @@
|
||||
<cfset parsed = parseDOCX(entryBytes)>
|
||||
</cfif>
|
||||
<cfelseif zext EQ "doc">
|
||||
<!--- После конвертации это уже docx — пробуем XWPF первым --->
|
||||
<cftry>
|
||||
<cfset parsed = parseDOCX(entryBytes)>
|
||||
<cfcatch>
|
||||
<cfset parsed = {elements: [], errors: ["XWPF fallback: " & cfcatch.message]}>
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
<cfif arrayLen(parsed.elements) EQ 0>
|
||||
<cfset parsed = parseDOC_POI(entryBytes)>
|
||||
<cfif arrayLen(parsed.elements) EQ 0 AND arrayLen(parsed.errors) GT 0>
|
||||
<cfset parsed = parseDOC(entryBytes)>
|
||||
</cfif>
|
||||
</cfif>
|
||||
<cfelse>
|
||||
<cfset arrayAppend(parsed.errors, "unsupported: .#zext#")>
|
||||
</cfif>
|
||||
@@ -379,10 +388,19 @@
|
||||
|
||||
<cfelseif doc.mime_type EQ "application/msword">
|
||||
<cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
|
||||
<!--- После конвертации на ВМ это уже docx — пробуем XWPF первым --->
|
||||
<cftry>
|
||||
<cfset parsed = parseDOCX(fileBytes)>
|
||||
<cfcatch>
|
||||
<cfset parsed = {elements: [], errors: ["XWPF fallback: " & cfcatch.message]}>
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
<cfif arrayLen(parsed.elements) EQ 0>
|
||||
<cfset parsed = parseDOC_POI(fileBytes)>
|
||||
<cfif arrayLen(parsed.elements) EQ 0 AND arrayLen(parsed.errors) GT 0>
|
||||
<cfset parsed = parseDOC(fileBytes)>
|
||||
</cfif>
|
||||
</cfif>
|
||||
<cfset elements = parsed.elements>
|
||||
<cfset errors = parsed.errors>
|
||||
<cfelse>
|
||||
|
||||
Reference in New Issue
Block a user