Обзор C# библиотек для работы с PDF


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();

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!