2013-04-18 4 views
0

У меня есть форма PDF, структура следующейкак найти и заменить текст в файл в формате PDF с использованием IText в

 Hello firstname, 

     Mr. firstname you are currently working at the designation post 
     and your current package is salary. 

     Thanks. 

     Excel database 
     -------------------------------------- 
     + firstname + salary + designation + 
     |-----------|----------|--------------| 
     | Alin  | 3,00,000 | Manager  | 
     | Roy  | 2,75,000 | Php Developer| 
     +-----------+----------+--------------+ 

Здесь ключевое слово Firstname, назначение и зарплата извлекается из базы данных первенствовать и динамически меняются. предположим, что если пользователь выбирает alin, то в форма pdf в firstname заменяет Alin, а зарплата и обозначение заменяются на 3,00,000 и Manager соответственно.

Моя проблема в том, что я новичок в iText, я не могу найти способ поиска и замены этих ключевых слов. Любая помощь приветствуется.

+1

У вас есть форма PDF, но вы не говорите нам, какой тип: это AcroForm, форма XFA или просто статический PDF (в этом случае у вас нет формы). Кроме того: неясно, спрашиваете ли вы, как извлекать данные из Excel или как заполнить форму PDF. Просьба уточнить! –

+1

Как Бруно спрашивает, что у вас есть? И, кроме того, насколько вы гибки в изменении требований? Например. если в настоящее время ваша * форма pdf * на самом деле не является формой, а является простым PDF-файлом с некоторыми текстовыми заполнителями, возможна ли замена в виде PDF-формы? – mkl

ответ

2

Я бы не рассматривал iText как свою предпочтительную технологию для этого.

Я бы использовал шаблон Velocity для XSL-FO, заполнил его динамическими данными, сгенерировал XSL-FO и превратил это в PDF с помощью стандартного XSL-T-движка. Сложный, но эффективный.

Или, если вы хотите придерживаться трека iText, просто выясните, как выполнить подстановку в объектах Java и сформировать форму таким образом.

Я бы не рекомендовал Excel в качестве «базы данных».

+0

Excel не хорош, но это требование клиента. Я не знаю о XSL-FO. это Open source.? – newBrain

+0

Это стандарт W3C. Двигатель XSL-T, встроенный в JDK, может превратить его в PDF-файл для вас. Что касается Excel, вам нужны более умные клиенты. – duffymo

+0

Для кого-то, кто не знаком с iText, который не понимает, как работают формы, изучение XSL: FO будет ад ... –

Смежные вопросы