Question

Peut cfpdf lire un fichier binaire colonne de base de données directement?

J'ai actuellement où j'exécute une requête pour obtenir la colonne.

Utilisation cffile à écrire le fichier dans un répertoire

Puis lire avec cfpdf donc je peux extracttext.

Est-il possible de le faire sans l'cffile d'écriture et de lecture, le fichier binaire directement?

Si oui, pourrais-je avoir un exemple.

Était-ce utile?

La solution

Quelle version utilisez-vous?Le suivant a fonctionné pour moi avec CF9 / MS SQL (colonne varbinary)

<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#">

Edit: Pour clarifier, cfpdf se plaint lorsque vous utilisez queryName.columnName comme la "source".Je soupçonne cfpdf voit comme une colonne de requête objet au lieu de automatiquement en saisissant la valeur dans la requête de la première rangée ie queryName.columnName[ 1 ].La solution de contournement consiste à créer une référence à elle, et d'utiliser l'autre variable à la place.

Autres conseils

Je ne suis pas sûr à 100%, mais vous devriez être capable de faire quelque chose comme ceci:

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

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

J'ai trouvé un moyen simple de faire ceci:

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

C'était déjà dans le code que j'ai hérité, mais cela ne fonctionnait jamais.J'ai trouvé que le problème était la source de données et non le code;Il n'a pas été mis à accepter des blobs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top