Itext для PDF: как вывести <pre>code snippet</pre> - PullRequest
1 голос
/ 28 октября 2010

Строка печатается на следующую строку автоматически для парагафа.Как сохранить предварительно отформатированный как он есть

 line 1
 line 2
 line 3

Я пытался найти ответ от класса абзаца, не повезло.

Может ли кто-нибудь помочь?

спасибо.

Ответы [ 2 ]

0 голосов
/ 06 октября 2015

HTML-файл содержит тег <pre>, и вы хотите сохранить его формат в формате PDF. Попробуйте

<code>String fileAsOneBigStr = FileUtils.readFileToString(new File    
("aFileName"), "UTF-8"); //FileUtils comes from import 
                         //org.apache.commons.io.FileUtils;  
Pattern p = Pattern.compile("(?i)<pre>(.*)
"); Matcher m = p.matcher (fileAsOneBigStr); StringBuffer sb = new StringBuffer (); while (m.find ()) { Строка line = m.group (1) + "
"; m.appendReplacement (sb, line); } m.appendTail (SB); String strToBePassedToITextPdf = sb.toString ();

Надеюсь, это поможет. Если вы найдете лучшее решение, пожалуйста, дайте мне знать (simsamsara3@gmail.com)

0 голосов
/ 02 ноября 2010

Давайте посмотрим, как HTMLWorker обрабатывает "pre" ... Он устанавливает грань для Courier и устанавливает флаг "isPre".

В text(String str) HTMLWorker сделает некоторыефильтрация по символам новой строки, пробелам, символам табуляции и т. д ... Устанавливается UNLESS isPre, в этом случае 'str' передается непосредственно в чанк и добавляется в текущий абзац.при синтаксическом анализе вашего ввода необходимо сохранять пробелы, символы \ n и т. д.

new chunk( "foo\n\n bar\n baz\n qux" ) должно выглядеть следующим образом:

foo

  bar
  baz
  qux




PS: Ваш вопрос не был так уж ясен, поэтому вполне возможно, что я отвечаю на что-то другое, кроме того, что вы спросили.Не могу ошибиться с примером кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...