5

cfpdf はバイナリデータベース列を直接読み取ることができますか?

現在、クエリを実行して列を取得する場所にあります。

cffile を使用して、ファイルをディレクトリに書き込みます

次に、テキストを抽出できるように cfpdf で読み取ります。

バイナリファイルを直接読み書きするcffileなしでこれを行うことは可能ですか?

もしそうなら、私は例を得ることができますか?

4

3 に答える 3

3

どのバージョンを使用していますか? 以下は、CF9 / MS SQL(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#">

編集:queryName.columnName明確にするために、「ソース」として使用するとcfpdfが文句を言います。cfpdf は、クエリの最初の行の値を自動的に取得するのではなく、クエリ列オブジェクトqueryName.columnName[ 1 ]として認識していると思われます。回避策は、それへの参照を作成し、代わりに他の変数を使用することです。

于 2012-05-21T21:18:27.383 に答える
1

100%確信はありませんが、次のようなことができるはずです。

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

<cfpdf action="read" source="myPDF" name="PDFObj">
于 2012-05-21T19:15:11.530 に答える
0

これを行う簡単な方法を見つけました:

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

これは、継承したコードに既に含まれていましたが、機能しませんでした。問題はコードではなくデータソースにあることがわかりました。BLOB を受け入れるように設定されていませんでした。

于 2012-06-21T22:38:56.850 に答える