iText - преобразовать html в pdf и добавить ссылку на вложение

Я успешно преобразовал XML-файл в XHTML-файл, а затем, наконец, в PDF-файл с помощью iText.

Теперь следующим достижением будет прикрепление и привязка встроенных документов Base64 из файла XML в документ PDF. Прикрепление этих файлов (чтобы они отображались на «панели вложений» в средстве просмотра PDF-файлов) работает.

Теперь моя проблема в том, что эти вложения (.doc, .ppt и т. Д.) Следует открывать, щелкнув текстовую ссылку или изображение (значок). Изображения (и названия документов, например, "test.doc") уже есть в PDF-файле, но как связать нужный файл с нужным изображением или текстовой ссылкой? Могли бы некоторые из вас подсказать, с чего начать?


person Pali    schedule 22.06.2015    source источник
comment
Не могли бы вы привести пример ссылки?   -  person user    schedule 22.06.2015
comment
@ConstantineNovykov под ссылкой я имею в виду что-то вроде гиперссылки или простой ссылки html href. Не знаю, как такие ссылки выглядят в PDF? или вы что-то другое имеете в виду?   -  person Pali    schedule 22.06.2015
comment
Написал ответ. Пожалуйста, смотрите ниже.   -  person user    schedule 22.06.2015
comment
@ConstantineNovykov, ладно, это кажется логичным, но есть ли у меня пример? потому что я понятия не имею, как я могу сделать это сопоставление с конечными точками и гиперссылками. Можно ли все это сделать с помощью API iText?   -  person Pali    schedule 22.06.2015
comment
Отредактировано. Сообщите, есть ли у вас еще вопросы.   -  person user    schedule 22.06.2015


Ответы (1)


Что вы можете сделать, так это создать «сопоставление» этих файлов с именами, чтобы у них был уникальный идентификатор. После этого вы просто создаете конечную точку, которая будет возвращать требуемый файл с требуемым типом mime (также проверьте поток Octet). В PDF вы просто добавляете гиперссылки, которые перейдут на вашу конечную точку и получат требуемый документ по имени.

РЕДАКТИРОВАТЬ: на самом деле у вас может быть несколько конечных точек: вам может понадобиться одна для каждого типа mime, который вы используете для большего удобства.

Чтобы создать ссылку внутри PDF, используйте привязку из библиотеки iText.

Создание конечной точки - это действительно ваше дело. Вы можете использовать любой способ создания веб-приложения, которое будет возвращать файл из Интернета в интерактивном режиме.

person user    schedule 22.06.2015
comment
Это похоже на то, что я искал, но один вопрос: в этом примере создается pdf-файл с нуля, но у меня уже есть pdf (и файл xhtml), поэтому как создать Anchor () уже существующего текстового test.doc, который надо открыть вложение test.doc? - person Pali; 22.06.2015
comment
Вы можете получить документ, найти место, проанализировав его и вставив якоря вручную. Т.е. вы не создаете новый абзац, вы найдете тот, который у вас уже есть. - person user; 22.06.2015
comment
так как я могу его найти? нет такого метода как getParagraph()? - person Pali; 22.06.2015
comment
stackoverflow.com/questions/19066141 / - person user; 23.06.2015