PDF Mosaic Library: Ленивый парсинг PDF документов

Наша библиотека при открытии и чтении pdf файлов использует ленивый парсинг содержимого документов. То есть для открытия документа извлекается необходимый минимум pdf объектов, а далее в процессе работы при обращении к остальным объектам происходит их чтение. С помощью этого нам удалось ощутимо сократить время открытия и сохранения pdf документов, особенно заметно это на многостраничных pdf документах. Так, например, документ, содержащий около 1300 страниц, открывается библиотекой PDF Mosaic за 1,5 сек. На сохранение этого же документа библиотека PDF Mosaic затрачивает 40 сек. Конечно, время приблизительное, так как зависит от машины, на которой проводились тесты, и от содержимого pdf документов. Но преимущества отложенного парсинга, очевидно, видны.

Если для Вас является критичным время обработки pdf документов или Вы преимущественно работаете с документами с большим числом страниц, то рекомендуем Вам использовать библиотеку PDF Mosaic, так как в этой библиотеке эффективно реализовано чтение pdf документов.

Ниже приведен пример кода для воспроизведения и тестирования данной ситуации:

using PDFMosaic;
using System;

namespace CreateAndSave
{
class OpenAndSave
{
static void Main(string[] args)
{
// Open a big pdf file
System.DateTime tmOpen = System.DateTime.Now;
PDFDocument document = new PDFDocument(@”..\..\..\Adobe – Pdf Reference. 6th Ed.pdf”);
Console.WriteLine(“Time spended for opening pdf file: {0} seconds”, (System.DateTime.Now – tmOpen).Seconds);

// Save opened file
System.DateTime tmSave = System.DateTime.Now;
document.Save(“Adobe – Pdf Reference. 6th Ed – PDF Mosaic.pdf”, true);
Console.WriteLine(“Time spended for saving pdf file: {0} minuts {1} seconds”, (System.DateTime.Now – tmSave).Minutes, (System.DateTime.Now – tmSave).Seconds);
}
}
}

Вы также можете загрузить архив с кодом проекта здесь: FastOpenAndSavePDF.zip

Например, сравним скорость работы библиотеки PDF Mosaic и iTextSharp. Для тестирования мы использовали pdf, содержащий 1300 страниц, – Adobe PDF Reference.
Измерение скорости было произведено на компьютере со следующей конфигурацией:
– Процессор: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ 2.30 GHz;
– ОЗУ: 4,00 Гб;
– ОС: Windows 7 x64.

И мы получили следующие результаты:
PDFMosaic открывает файл за 0.9 cек;
iTextSharp открывает файл за 27.5 cек.

Подробнее о ленивом программировании можно прочитать здесь или здесь.

Команда проекта PDF Mosaic.