can cfpdf直接读取二进制数据库列?

我目前拥有它在哪里运行查询以获取列。

使用cffifle将文件写入目录

然后用cfpdf读取,所以我可以提取文本。

是否可以在没有CFFifle写入的情况下执行此操作并直接读取二进制文件?

如果是这样,我可以实现一个例子。

有帮助吗?

解决方案

您使用的是什么版本?以下使用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#">
.

编辑:澄清,CFPDF使用queryName.columnName作为“源”时抱怨。我怀疑cfpdf将其视为查询列对象,而不是自动抓取查询的第一行中的值IE queryName.columnName[ 1 ]。解决问题是为其创建引用,并使用其他变量。

其他提示

我不是100%肯定,但你应该能够做到这样的事情:

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

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

我找到了一种简单的方法来实现这一点:

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

这已经在我继承的代码中,但它永远不会工作。我发现问题是数据源而不是代码;它没有设置为接受blob。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top