cfpdfはバイナリデータベース列を直接読み取ることができますか?バイナリデータベース列を読み込むColdFusion CFPDF
現在、私は列を取得するためにクエリを実行しています。私はextracttextことができるようにするcfpdfで読み取るその後のディレクトリに
をファイルを書き込むための
使用のcffile。
cffileの書き込みを行わずにバイナリファイルを直接読み取ることはできますか?
もしそうなら、私は例を得ることができます。
cfpdfはバイナリデータベース列を直接読み取ることができますか?バイナリデータベース列を読み込むColdFusion CFPDF
現在、私は列を取得するためにクエリを実行しています。私はextracttextことができるようにするcfpdfで読み取るその後のディレクトリに
をファイルを書き込むための
使用のcffile。
cffileの書き込みを行わずにバイナリファイルを直接読み取ることはできますか?
もしそうなら、私は例を得ることができます。
あなたはどのバージョンを使用していますか?次
<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#">
CF9/MS SQL(varbinary型のカラム)で私のために働いて編集:明確にするために、あなたが "ソース" としてqueryName.columnName
を使用する場合、cfpdfのは文句を言います。私は、cfpdfがクエリの最初の行の値、すなわちqueryName.columnName[ 1 ]
を自動的に取得するのではなく、クエリの列オブジェクトと考えています。回避策は、参照を作成し、代わりに他の変数を使用することです。
私は100%わからないんだけど、あなたはこのような何かを行うことができるはず:
<cfset myPDF = binaryEncode(binaryData,'base64')>
<cfpdf action="read" source="myPDF" name="PDFObj">
別の考え方は、cffileを使ってRAMディスクに書き込むことです。これにより、パフォーマンスが向上し、ディスクへの書き込みがなくなります。 http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSe9cbe5cf462523a0-70e2363b121825b20e7-8000.html –
ラムディスクのアイデアが大好きです。 –
Joshが提供するリンクの例を使用してInメモリを動作させることができました。参考までに、cfpdfはサポートされていません。しかし、それはまさに私が使用したものであり、動作しているようです。 ***注意のポイント。 RAMからファイルを削除しないと、割り当てられたスペースをすべて消費してクラッシュする恐れがあります。 –
私はこれを行うための簡単な方法を見つけました:
<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">
これは私が継承されたコードではすでにだったが、それは働いていませんでした。問題はコードではなくデータソースだとわかりました。 BLOBを受け入れるように設定されていませんでした。
良い質問...私もそれを知りたいです。 –