문제

cfpdf가 바이너리 데이터베이스 열을 직접 읽을 수 있습니까?

현재 열을 가져오기 위해 쿼리를 실행하는 곳이 있습니다.

cffile을 사용하여 파일을 디렉토리에 씁니다.

그런 다음 cfpdf로 읽어 텍스트를 추출할 수 있습니다.

cffile 쓰기 없이 이 작업을 수행하고 바이너리 파일을 직접 읽을 수 있습니까?

그렇다면 예를 들어볼 수 있을까요?

도움이 되었습니까?

해결책

어떤 버전을 사용하고 있나요?다음은 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가 이를 쿼리 열로 인식하는 것 같습니다. 물체 쿼리의 첫 번째 행에 있는 값을 자동으로 가져오는 대신 즉, 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