我使用此代码过滤pdf
文件中的文本:
create or replace directory pdf_dir as '&1';
create or replace directory l_curr_dir as '&3';
declare
ll_clob CLOB;
l_bfile BFILE;
l_filename VARCHAR2(200) := '&2';
begin
begin
ctx_ddl.drop_preference('testfilter');
ctx_ddl.drop_policy('testdimac_policy1');
exception when others then
null;
end;
ctx_ddl.create_preference('testfilter', 'AUTO_FILTER');
ctx_ddl.create_policy('testd_policy1', 'testfilter');
l_bfile := bfilename('PDF_DIR', l_filename);
dbms_lob.fileopen(l_bfile);
ctx_doc.policy_filter(
policy_name => 'test_policy1'
, document => l_bfile
, restab => ll_clob
, plaintext => true
, CHARSET => 'US7ASCII'
);
DBMS_XSLPROCESSOR.clob2file (ll_clob,'L_CURR_DIR' , '&4');
/
该解决方案很好并且对我有用,但是有什么方法可以获取表格数据,现在它正在逐个短语或逐行过滤文本。
例如,如果 pdf 包含以下值:
Name: Amount
Pradeep 100 USD
我希望输出原样,但当前设置给出的输出如下:
Name:
Amount
Pradeep
100 USD
有什么方法可以获取文本的原始格式pdf
吗?
是否可以更换过滤器?