Как получить текст из PDF с сохранением оригинального форматирования (с помощью CTX_DOC)?

Я использую этот код для фильтрации текста из 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?

Можно ли поменять фильтр?

0 ответов

Другие вопросы по тегам