Oracle 如何从pdf中获取保留原始格式的文本(使用CTX_DOC)?

Oracle 如何从pdf中获取保留原始格式的文本(使用CTX_DOC)?,oracle,plsql,pdf-parsing,bfile,Oracle,Plsql,Pdf Parsing,Bfile,我使用此代码从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_prefere

我使用此代码从
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
中文本的原始格式


是否可以通过“按原样输出”更改过滤器?

我猜您指的是通过PDF阅读器查看时的显示方式。据我所知,Oracle没有内置的PDF查看器;数据存储为数据,您正在运行的查询正在返回。。。。数据。谢谢你的评论。即使我认为Oracle目前也无法支持格式化文本。