iTextSharp для PDF - как добавить вложения файлов? - PullRequest
6 голосов
/ 09 июня 2010

Я использую iTextSharp для создания PDF-документа в C #.Я хотел бы прикрепить другой файл к PDF.У меня просто куча неприятностей, пытаясь это сделать.Примеры здесь показывают некоторые аннотации, которые, по-видимому, являются вложениями.

Вот что я пробовал:

writer.AddAnnotation(its.pdf.PdfAnnotation.CreateFileAttachment(writer, new iTextSharp.text.Rectangle(100,100,100,100), "File Attachment", its.pdf.PdfFileSpecification.FileExtern(writer, "C:\\test.xml")));

Ну, что происходит, это добавляетаннотация на PDF (выглядит как небольшой комментарий голосовой шар), что я не хочу.test.xml отображается на панели вложений в Adobe Reader, но его невозможно прочитать или сохранить, а размер файла неизвестен, поэтому вполне вероятно, что он никогда не будет правильно подключен.

Есть предложения?

1 Ответ

7 голосов
/ 09 июня 2010

Хорошо, у меня есть код, работающий для его прикрепления:

its.Document PDFD = new its.Document(its.PageSize.LETTER);
its.pdf.PdfWriter writer;
writer = its.pdf.PdfWriter.GetInstance(PDFD, new FileStream(targetpath, FileMode.Create));
its.pdf.PdfFileSpecification pfs = its.pdf.PdfFileSpecification.FileEmbedded(writer, "C:\\test.xml", "New.xml", null);
writer.AddFileAttachment(pfs);

, где "its" = "iTextSharp.text"

Теперь, чтобы прочитать вложение!

...