【发布时间】:2012-05-28 06:23:23
【问题描述】:
cfpdf 可以直接读取二进制数据库列吗?
我目前有它,我在其中运行查询以获取该列。
使用cffile将文件写入目录
然后用 cfpdf 阅读,这样我就可以提取文本了。
是否可以在没有cffile直接写入和读取二进制文件的情况下做到这一点?
如果是这样,我可以举个例子吗?
【问题讨论】:
-
好问题...我也想知道。
标签: pdf coldfusion binary cfpdf
cfpdf 可以直接读取二进制数据库列吗?
我目前有它,我在其中运行查询以获取该列。
使用cffile将文件写入目录
然后用 cfpdf 阅读,这样我就可以提取文本了。
是否可以在没有cffile直接写入和读取二进制文件的情况下做到这一点?
如果是这样,我可以举个例子吗?
【问题讨论】:
标签: pdf coldfusion binary cfpdf
我不是 100% 确定,但你应该可以这样做:
<cfset myPDF = binaryEncode(binaryData,'base64')>
<cfpdf action="read" source="myPDF" name="PDFObj">
【讨论】:
你用的是什么版本?以下内容适用于我的 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 将其视为查询列object,而不是自动获取查询第一行中的值,即queryName.columnName[ 1 ]。解决方法是创建对它的引用,并改用其他变量。
【讨论】:
processddx.. 提取文本,但它需要物理文件路径。这是我所知道的 CF8 的唯一简单选项。
我找到了一个简单的方法:
<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">
这已经在我继承的代码中,但它从来没有工作过。我发现问题是数据源而不是代码;它未设置为接受 BLOB。
【讨论】: