我使用此代码过滤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
中获取原始格式的文字?
是否可以更改过滤器?