На написание данной статьи меня подтолкнул топик, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. Весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#. Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ.
Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи. Обзор библиотек 1. Библиотека iText позволяет создавать и манипулировать PDF документами. Она позволяет разработчикам совершенствовать веб и прикладные приложения с помощью динамической генерации и/или манипуляции над PDF документами. Разработчики могут использовать iText для: — Передачи PDF в браузер — Генерировать динамические документы из XML файлов или базы данных — Использовать много интерактивных возможностей PDF — Добавлять закладки, число страниц, водяные знаки и т.д. — Разделять, объединять и манипулировать PDF страницами — Автоматизация заполнения PDF форм — Добавлять цифровую подпись в PDF файл iText доступен для двух языков: Java и C#.
Как заменить размеченный текст в WordprocessingDocument OpenXML? C# docx openxml. Возможно ли с помощью Python загрузить/применить файл шрифта(.ttf/.otf) в документ.doc/.docx/pdf? Затем конвертировать в Документ Майкрософт Офис soffice --headless --convert-to file> В.
Report.NET – это мощная библиотека, которая поможет Вам сгенерировать PDF документы в простым и гибким способом. Документ может быть создан с помощью данных, которые были получены из любого ADO.NET data set. Возможности библиотеки: — Полностью написана на C# для Microsoft.NET framework — Очень компактный код (Hello World: 6 строк) — Поддерживает графические объекты: текст, линии, прямоугольники, изображения jpeg — Легкость выравнивания и трансформации графических объектов — ASP.NET может генерировать динамические PDF страницы — XML Documentation (Comment Web Pages) 3. PDFsharp — это библиотека на C#, которая очень просто создаёт PDF документы на лету. Похоже на GDI+ рисование процедур, аналогично можно создавать PDF документы, рисовать на экране или отправлять на печать любого принтера. PDFsharp может изменять, объединять и разделять существующие PDF файлы или перемещать страницы из существующих PDF файлов в новые PDF документы. PDFsharp – это библиотека с открытым исходным кодом, которая легко создает PDF документы из любого.NET языка.

SharpPDF — это C# библиотека, которая может создавать различные объекты в PDF документах за несколько шагов. Она создана для.NET framework 1.1 и может создавать 100% совместимые PDF файлы (протестировано с Acrobat Reader, Ghostscript, JAWS PDF Editor и другими PDF читалками). Самая важная цель библиотеки – это простое использование. Возможности библиотеки: — Можно использовать с Windows Forms для генерации новых pdf файлов или сохранить их в базу данных. — Можно использовать с Web Applications (ASP.NET) для генерации pdf файлов или сразу отправить результат в браузер.
PDFjet — библиотека с открытым исходным кодом для динамического создания PDF документов из Java и.NET. Возможности библиотеки: Рисования: точки, линии, коробки, круги, кривые Безье, многоугольники, звезды, комплекс путей и форм. Текст: поддержка юникода, кернинг текста при использовании Helvetica и Times-Roman семейств основных шрифтов, вставка гиперссылок, просто использовать табличный класс с гибкостью отчетных возможностей.
Поддерживает вставку следующих типов изображений: PNG, JPEG, BMP 6. FO PDF похожа на ASP.NET Server Controls, написана на C#. Она получает DataTable и несколько других параметров для генерации XSL FO и рендерит DataGrid как PDF отчёт используя NFOP (Apache FOP Port in J#) PDF Formatter.
PDF Clown – это C# 2.0 библиотека для чтения, обработки и записи файлов PDF с несколькими слоями абстракции, чтобы удовлетворить различные стили программирования: от нижнего уровня (PDF Object Model), до высшего (PDF структуры документа и потокового содержания). Его основная целевая платформа является GNU / Linux, но благодаря проекту Mono она практически платформа-независимая. Быстрый старт с помощью iTextSharp Как я уже писал ранее, данная библиотека была выбрана не из-за того, что я протестировал все описанные и выбрал её, а по причине того, что на неё чаще всего ссылаются и советуют. Итак, переходим на сайт проекта, видим, что можно купить книжку, а также скачать файлы: Желания что-то собирать самому, у меня нет, поэтому качаю не исходные коды, а сразу библиотеку. С одной библиотекой быстрого старта не выйдет, поэтому качаем примеры. Открыв архив примеров, я понял, что старт будет гораздо быстрее, чем я думал, т.к.
Там есть целых 13 глав примеров. Сразу подумал, что на этом можно закончить, но всё же решил сделать небольшое приложение.
Распишу по шагам, что нужно для использования библиотеки: — Я создаю WinForms приложение. — Добавляю ссылку на itextsharp.dll. — Устанавливаю кнопку на форму и добавляю следующий код в обработчик нажатия: var doc = new Document; PdfWriter.GetInstance(doc, new FileStream(Application.StartupPath + @' Document.pdf', FileMode.Create)); doc.Open; iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @'/images.jpg'); jpg.Alignment = Element.ALIGNCENTER; doc.Add(jpg); PdfPTable table = new PdfPTable(3); PdfPCell cell = new PdfPCell( new Phrase( 'Simple table', new iTextSharp.text. Font.FontFamily.TIMESROMAN, 16, iTextSharp.text.
Это обзор, а не тестирование. Если бы я выдвинул какие-то требования, то тогда можно было бы сделать выводы в конце статьи, что эта библиотека занимает почётное первое место, потому-что Очень многое зависит от потребностей, читал, что человек категорически не хочет использовать тот же iTextSharp, не потому-что он не умеет делать какой-то функционал, а что библиотека слишком «тяжелая» в плане занимаемого места (что в некоторых проектах может быть весомо, если нужен небольшой инсталлятор). Вот Вы пишите, что «Мы у себя на PdfSharp остановились, очень много перепробовав.», почему бы не указать, что для Вас стало решающим в выборе?


Думаю, тем, кто будет читать комментарии Ваш опыт может стать полезен. У меня вопрос не совсем по этой теме, но не далеко. Понадобилась мне достаточно нестандартная вещь — создать свой виртуальный принтер PDF. Нужен он для того, чтобы отправлять в существующую систему PDF документы из любого приложения.
Чтобы было меньше заморочек, удобнее всего это сделать по средством PDF принтера. Начав искать, я нашел только два опенсорсных проекта данной направленности и оба они написаны на старом VB6. Вопрос, может быть кто-нибудь сталкивался с опенсорсными реализациями PDF принтеров или может быть не слишком дорогой, но функциональной платной реализацией.
Я использую visualstudio 2010, и я пытаюсь преобразовать файл word.docx в файл.pdf и отлично работает в локальном, но во время выполнения на сервере он показывает ошибку как Could not load file or assembly 'office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified. Я давно искал решение этих проблем, и в конце концов мне пришлось использовать третью сторону. Я предлагаю вам использовать третью сторону, такую как Aspose Aspose.Words для.NET - это расширенная библиотека классов для.NET, которая позволяет выполнять широкий спектр задач обработки документов непосредственно в ваших приложениях.NET. С помощью Aspose.Words вы можете создавать, изменять, конвертировать, рендерить и распечатывать документы без использования Microsoft Word. Aspose.Words для.NET поддерживает DOC, OOXML, RTF, HTML, OpenDocument, PDF, XPS, EPUB и многих других форматах.
Этот компонент отлично работает для меня и очень прост в использовании. Это пример преобразования слова в pdf-код: Document doc = new Document(getMyDir + 'Document.doc'); doc.save(getMyDir + 'Document.Doc2PdfSave Out.pdf').