Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / itextsharp заполнить PDF-форму в текущем файле (без создания нового) / 14 сообщений из 14, страница 1 из 1
09.03.2013, 12:13
    #38178402
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Есть pdf-файл (форма с полями). Надо открыть этот файл заполнить в нем поля и сохранить. Примеры в itextsharp содержат лишь такой сценарий:
1. Открыть файл "new PdfReader(...)"
2. создать выходной файл "new PdfStamper(reader_pdf, new FileStream(..., FileMode.Create))"
3. заполнить поля в stamper
4. сохранить stamper
В результате выходной файл будет обычным pdf, не формой с полями. А надо чтобы после заполнения полей файл можно было дальше редактировать. Как быть?

ЗЫ
С С# знакОм 2-й день.
...
Рейтинг: 0 / 0
09.03.2013, 17:43
    #38178510
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
sann-xА надо чтобы после заполнения полей файл можно было дальше редактировать
По каким соображениям был выбран pdf формат?
...
Рейтинг: 0 / 0
09.03.2013, 18:38
    #38178524
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Требование заказчика.
...
Рейтинг: 0 / 0
09.03.2013, 18:44
    #38178525
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
В принципе можно наверное и новый файл создать с заполнеными полями, но надо, чтобы этот файл не статичным был, а интерактивным, с возможностью изменения знечений в заполненных полях.
...
Рейтинг: 0 / 0
09.03.2013, 20:18
    #38178549
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
sann-x,

Сишарп здесь ни при чём.
...
Рейтинг: 0 / 0
09.03.2013, 20:27
    #38178555
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Ну, думаю логично спрашивать о си-шарповском "инструменте" (itextsharp) на си-шарповском форуме. Может есть, кто основательно юзал эту библиотеку и сможет подсказать направление, куда копать.
...
Рейтинг: 0 / 0
09.03.2013, 22:06
    #38178614
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
sann-xТребование заказчика.
Предложи альтернативу вместо безумного "хочу".
...
Рейтинг: 0 / 0
09.03.2013, 22:55
    #38178631
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
http://www.ehow.com/how_6757073_create-fields-pdf-itextsharp.html ?
http://www.c-sharpcorner.com/uploadfile/scottlysle/pdfgenerator_cs06162007023347am/pdfgenerator_cs.aspx ? (ссыль есть в первом линке... это как направление для размышлений)

P.S.: слышу о itextsharp третий раз...
P.P.S.: ваш начальный пост неплохо было-бы иллюстрировать минимальным "не рабочим" проектом, демонстрирующим то, как вами решалась (пусть и безуспешно) поставленная задача...
...
Рейтинг: 0 / 0
11.03.2013, 09:53
    #38179397
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
вот код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
PdfReader template = new PdfReader(inputfilename);
PdfStamper stamper = new PdfStamper(template, new FileStream(outputfilename, FileMode.Create));
AcroFields fields = template.AcroFields;
fields.SetField("field_fio_1", "FIO1");
fields.SetField("field_dom_a_1", "ADRES1");
stamper.FormFlattening = true;
stamper.Close();


В нем создается новый файл, который содержит 2 заполненных поля. Однако этот файл статичный, а не интерактивный.
...
Рейтинг: 0 / 0
11.03.2013, 11:28
    #38179528
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Код: c#
1.
2.
3.
   // flatten the form to remove editting options, set it to false
    // to leave the form open to subsequent manual edits
    pdfStamper.FormFlattening = false;
...
Рейтинг: 0 / 0
11.03.2013, 13:35
    #38179790
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Да, именно то, что нужно. Спс.
...
Рейтинг: 0 / 0
11.03.2013, 15:09
    #38179973
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
вот код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
BaseFont baseFont = BaseFont.CreateFont(@"C:\Windows\Fonts\Arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
PdfReader template = new PdfReader(templ);
PdfStamper stamper = new PdfStamper(template, new FileStream(output, FileMode.Create));
AcroFields fields = stamper.AcroFields;
fields.AddSubstitutionFont(baseFont);
fields.SetField("name", "Русский текст");
stamper.FormFlattening = false;
stamper.Close();


Текст русский всталяет в поля, однако если встать мышкой на это поле, то значение пропадает и курсор исчезает. Если же значение на англ языке, то все норм. Как убрать это странное поведение? Прилагаю пример созданного pdf с исчезающим значением в поле.
...
Рейтинг: 0 / 0
11.03.2013, 16:33
    #38180104
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Х-я либо с самим риадером либо со шрифтами... У меня с вашим примером все ок... Но... немного другой глюк - иногда при вводе букифки певращаются в крякозябы... однако, стоит фокусу покинуть это поле и вернуться... буга пропадает...
...
Рейтинг: 0 / 0
11.03.2013, 16:50
    #38180132
sann-x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
itextsharp заполнить PDF-форму в текущем файле (без создания нового)
Дело в ридере. Баг был в Foxit Reader. В новой версии этого ридера и также других (адобе XI, PDF XChange Viewer) описанная мною и вами бага не воспроизводится.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / itextsharp заполнить PDF-форму в текущем файле (без создания нового) / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]