1. iTextSharp
Библиотека iText позволяет создавать и манипулировать PDF документами. Она позволяет разработчикам совершенствовать веб и прикладные приложения с помощью динамической генерации и/или манипуляции над PDF документами.
Разработчики могут использовать iText для:
— Передачи PDF в браузер
— Генерировать динамические документы из XML файлов или базы данных
— Использовать много интерактивных возможностей PDF
— Добавлять закладки, число страниц, водяные знаки и т.д.
— Разделять, объединять и манипулировать PDF страницами
— Автоматизация заполнения PDF форм
— Добавлять цифровую подпись в PDF файл
iText доступен для двух языков: Java и C#.
2. Report.NET
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
PDFsharp — это библиотека на C#, которая очень просто создаёт PDF документы на лету. Похоже на GDI+ рисование процедур, аналогично можно создавать PDF документы, рисовать на экране или отправлять на печать любого принтера. PDFsharp может изменять, объединять и разделять существующие PDF файлы или перемещать страницы из существующих PDF файлов в новые PDF документы.
PDFsharp – это библиотека с открытым исходным кодом, которая легко создает PDF документы из любого .NET языка.
4. SharpPDF
SharpPDF — это C# библиотека, которая может создавать различные объекты в PDF документах за несколько шагов. Она создана для .NET framework 1.1 и может создавать 100% совместимые PDF файлы (протестировано с Acrobat Reader, Ghostscript, JAWS PDF Editor и другими PDF читалками). Самая важная цель библиотеки – это простое использование.
Возможности библиотеки:
— Можно использовать с Windows Forms для генерации новых pdf файлов или сохранить их в базу данных.
— Можно использовать с Web Applications (ASP.NET) для генерации pdf файлов или сразу отправить результат в браузер.
5. PDFjet Open Source Edition
PDFjet — библиотека с открытым исходным кодом для динамического создания PDF документов из Java и .NET.
Возможности библиотеки:
Рисования: точки, линии, коробки, круги, кривые Безье, многоугольники, звезды, комплекс путей и форм.
Текст: поддержка юникода, кернинг текста при использовании Helvetica и Times-Roman семейств основных шрифтов, вставка гиперссылок, просто использовать табличный класс с гибкостью отчетных возможностей.
Поддерживает вставку следующих типов изображений: PNG, JPEG, BMP
6. ASP.NET FO PDF
FO PDF похожа на ASP.NET Server Controls, написана на C#. Она получает DataTable и несколько других параметров для генерации XSL FO и рендерит DataGrid как PDF отчёт используя NFOP (Apache FOP Port in J#) PDF Formatter.
7. PDF Clown
PDF Clown – это C# 2.0 библиотека для чтения, обработки и записи файлов PDF с несколькими слоями абстракции, чтобы удовлетворить различные стили программирования: от нижнего уровня (PDF Object Model), до высшего (PDF структуры документа и потокового содержания). Его основная целевая платформа является GNU / Linux, но благодаря проекту Mono она практически платформа-независимая.
Быстрый старт с помощью iTextSharp
Желания что-то собирать самому, нет, поэтому качаю не исходные коды, а сразу библиотеку itextsharp-5.0.5-dll.zip. С одной библиотекой быстрого старта не выйдет, поэтому качаем примеры iTextSharp.tutorial.01.zip. Открыв архив примеров, я понял, что старт будет гораздо быстрее, чем я думал, т.к. там есть целых 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.ALIGN_CENTER; doc.Add(jpg); PdfPTable table = new PdfPTable(3); PdfPCell cell = new PdfPCell(new Phrase("Simple table", new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 16, iTextSharp.text.Font.NORMAL, new BaseColor(Color.Orange)))); cell.BackgroundColor = new BaseColor(Color.Wheat); cell.Padding = 5; cell.Colspan = 3; cell.HorizontalAlignment = Element.ALIGN_CENTER; table.AddCell(cell); table.AddCell("Col 1 Row 1"); table.AddCell("Col 2 Row 1"); table.AddCell("Col 3 Row 1"); table.AddCell("Col 1 Row 2"); table.AddCell("Col 2 Row 2"); table.AddCell("Col 3 Row 2"); jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/left.jpg"); cell = new PdfPCell(jpg); cell.Padding = 5; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; table.AddCell(cell); cell = new PdfPCell(new Phrase("Col 2 Row 3")); cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE; cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(cell); jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/right.jpg"); cell = new PdfPCell(jpg); cell.Padding = 5; cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; table.AddCell(cell); doc.Add(table); doc.Close();
Комментариев нет:
Отправить комментарий
Большая просьба, не писать в комментариях всякую ерунду не по теме!