gpt4 book ai didi

javascript - Oracle APEX 5.0 动态嵌入 PDF 到页面

转载 作者:行者123 更新时间:2023-11-30 20:39:06 25 4
gpt4 key购买 nike

你好 APEX 初学者,

我在将 pdf url 动态嵌入我的应用程序时遇到问题。图片显示正常,但不适用于 pdf。

我有一个 apex_process 来调用用于下载 BLOB 文件 (*code1) 的过程。这个 apex_process 是通过 URL 调用的。每当我在 img 标签的 src 属性中设置所述 url 时,我都会得到 img 标签来显示图像。 但是,这似乎不适用于对象标签。设置对象标记的数据属性的 url 不会执行任何操作。

有谁知道如何动态显示存储在数据库中的 pdf。感谢任何帮助

顶点 5.0.4甲骨文 11g

*代码1

sys.htp.init;
sys.htp.p('Content-length: ' || sys.dbms_lob.getlength(p_FileBlob));
sys.htp.p('Content-Disposition: attachment; filename="' || p_FileNm|| '"' );
sys.owa_util.http_header_close;
sys.wpg_docload.download_file(p_FileBlob);

更新

我可能不清楚我的目标。我实际上想将 pdf 嵌入到我的页面中,就像直接在页面上有一个 adobe-reader-esque View 一样。没有下载 pdf 的链接。

最佳答案

我创建了一个页面(第 32 页)来处理所有下载。它有一个隐藏的 ID 项 (P32_ID) 和几个在标题页处理之​​前。每个进程处理不同的请求。

对于 pdf,它可以如下所示:

从调用页面:f?p=&APP_ID.:32:&SESSION.:GETPDF:NO::P32_ID:YOUR_PDF_ID

发送到页面的是一个请求:GEPDF 和要下载的 PDF 的 ID。

第 32 页有一个 ON LOAD - before header page process with a condition REQUEST = Expression 1, GEPDF.

这个过程的PLSQL代码是:

declare
l_length pls_integer;
l_blob blob;
l_content_type varchar2(100);
l_filename varchar2(30);
begin

select blobdata
into l_blob
from your_blob_table
where ID = v('P32_ID');


l_content_type := 'application/pdf';

l_length := nvl(dbms_lob.getlength(l_blob), 0);

if l_length = 0
then
htp.p('No data');
return;
end if;

l_filename := 'GETPDF.pdf';


-- create response header
owa_util.mime_header(l_content_type, false);
-- add furhter header attributes
htp.p('Content-length: ' || l_length);
htp.p('Content-Disposition: attachment; filename="' || l_filename || '"');
-- close the headers
owa_util.http_header_close;
-- download the BLOB
wpg_docload.download_file(l_blob);

exception
when others then
htp.p(sqlerrm);
end;

关于javascript - Oracle APEX 5.0 动态嵌入 PDF 到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49487041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com