Domanda

CFPDF può leggere direttamente una colonna di database binaria?

Attualmente lo ho dove eseguo una query per ottenere la colonna.

Utilizzare il cffiile per scrivere il file in una directory

Quindi leggi con CFPDF in modo da poter estrarre testo.

È possibile farlo senza il cffiile scrivere e leggere direttamente il file binario?

Se è così, potrei ottenere un esempio.

È stato utile?

Soluzione

Quale versione stai usando?Il seguente ha funzionato per me con CF9 / MS SQL (colonna VARBINARIA)

<cfquery name="getPdf" ....>
    SELECT Data 
    FROM   someTable
    WHERE  ID = 123
</cfquery>

<cfset pdfBinary = getPdf.data[1]>
<cfpdf action="extractText" source="pdfBinary" name="result">
<cfdump var="#result#">
.

Modifica: Per chiarire, CFPDF si lamenta quando si utilizza queryName.columnName come "Sorgente".Sospetto che CFPDF lo veda come una colonna di query oggetto invece di afferrare automaticamente il valore nella prima riga della query IE queryName.columnName[ 1 ].Il work-around è quello di creare un riferimento ad esso e utilizzare invece l'altra variabile.

Altri suggerimenti

Non sono sicuro al 100%, ma dovresti essere in grado di fare qualcosa del genere:

<cfset myPDF = binaryEncode(binaryData,'base64')>

<cfpdf action="read" source="myPDF" name="PDFObj">
.

Ho trovato un modo semplice per farlo:

<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">
.

Questo era già nel codice che ho ereditato, ma non funzionava mai.Ho trovato il problema è stato il DataSource e non il codice;Non è stato impostato per accettare Blobs.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top