【发布时间】:2023-04-09 15:17:01
【问题描述】:
我正在使用共享组件中定义的报告查询从 Oracle APEX 导出 PDF 报告。默认情况下,生成的 PDF 的文件名是报告查询名称。有没有办法自定义名称?我需要在其中包含一个时间戳,但是我找不到任何解决方案。我没有使用任何外部工具来生成报告,并且布局是在 XSL-FO 中定义的。 感谢您的帮助。
【问题讨论】:
标签: oracle pdf oracle-apex oracle-apex-5
我正在使用共享组件中定义的报告查询从 Oracle APEX 导出 PDF 报告。默认情况下,生成的 PDF 的文件名是报告查询名称。有没有办法自定义名称?我需要在其中包含一个时间戳,但是我找不到任何解决方案。我没有使用任何外部工具来生成报告,并且布局是在 XSL-FO 中定义的。 感谢您的帮助。
【问题讨论】:
标签: oracle pdf oracle-apex oracle-apex-5
创建一个 PL/SQL 进程并使用以下 API:
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT (
p_file_name => 'myreport123',
p_content_disposition => 'attachment',
p_application_id => :APP_ID,
p_report_query_name => 'report1',
p_report_layout_name => 'report1',
p_report_layout_type => 'rtf',
p_document_format => 'pdf');
以上代码假设您的报告查询名称和报告布局名称为report1
请注意,您可以将 p_file_name 更改为您喜欢的任何内容。
【讨论】:
如果您使用的是 XSLT 2.0 或 XSLT 3.0,您可以使用 currentDateTime() 获取当前时间(不是源文档的修改时间)。见https://www.w3.org/TR/xpath-functions/#func-current-dateTime
如果您仍在使用 XSLT 1.0,您的 XSLT 处理器可能会为日期和时间实现 EXSLT 扩展。见http://exslt.org/date/index.html
【讨论】: