Построение Delphi PDF
Мы используем Fast Reports для создания отчетов, но мы не очень довольны качеством создаваемых PDF файлов. Я знаю, что мы можем подключить другие компоненты PDF вместо того, который поставляется с FastReports, поэтому мой вопрос
Какие хорошие компоненты PDF есть (бесплатные или коммерческие) для Delphi? В идеале это не требует никаких DLL.
Изменить: Я купил Gnostice в конце, так как он имел интеграцию FastReports, источник доступный и довольно хорошая репутация. Однако я нашел проблему (после того, как я ее купил) с экспортом многостраничных отчетов из FastReports в PDF, где компонент утечки памяти и искажает результат. Я сообщил об этом Гностицию, поэтому, я думаю, мы увидим, насколько хороша их поддержка в ближайшие несколько дней...
Изменить 2: Гностикс вернулся с исправлением, которое исправляет утечку памяти и поврежденный вывод.
Ответы
Ответ 1
Мы используем Gnostice и очень довольны им. Это позволяет нам печатать отчеты ReportBuilder в PDF, HTML, XML, Excel, Gif,...
Некоторые незначительные проблемы, возникающие при работе с компонентом
- Где-то глубоко в недрах компонента, вызываются вызовы Application.Processmessages. Вы должны убедиться, что ваш код обрабатывает повторно.
- Нам пришлось установить Preferences.UseImagesAsResources компонента TgtDocSettings в True, чтобы разрешить AV при печати на что-либо еще, кроме PDF.
- Возможно, из-за того, как мы используем компонент, но первая печатная страница была всегда Портрет. Нам нужно было добавить вызов gtRBExportInterface.Engine.Settings.Page.Orientation, чтобы при необходимости установить ориентацию в альбом.
Ответ 2
Используйте наш блок SynPDF. Среди его функций вы можете использовать истинный TCanvas для создания PDF файла и встраивать подтипы шрифтов True Type. Это одна из немногих библиотек, которые обрабатывают арабские языки и такие (через API UniScribe). Он полностью готов к Unicode и очень быстро.
И это БЕСПЛАТНО и OpenSource!
Работает от Delphi 6 до Delphi XE.
http://blog.synopse.info/?q=pdf
Ответ 3
Мы используем wPDF. Мы не создаем напрямую pdf файлы - мы генерируем разные отчеты и "печатаем" их в формате pdf в качестве альтернативы принтеру.
Ответ 4
PowerPDF является бесплатным и openource (LGPL). его действительно мало, но эффективно!
PowerPDF
Ответ 5
Вот некоторые (все коммерческие), с которыми я столкнулся при поиске чего-то подобного:
Я обнаружил, что свободно доступные LibHaru, PoDoFo, к сожалению, не могли поцарапать мои требования.
Ответ 6
Я использовал wPDF с помощью QuickReports/QRDesign. В основном, конвертируя отчет в метафайл, затем создавая pdf. Он также утверждает, что имеет поддержку Fast Report.
Ответ 7
IIPDFLib by llionsoft at: www.llion.net
Библиотека Delphi llPDFLib 3.6
llPDFLib - это чистая библиотека Object Pascal для создания PDF-документов. Эта библиотека не использует DLL или внешнее стороннее программное обеспечение для создания файлов PDF. Библиотека включает компонент TPDFDocument со свойствами и методами, такими как Delphi TPrinter, но предназначен для создания PDF файла.
Особенности:
- Real Canvas.Handle(HDC)
- Поддержка Unicode
- Acroforms (кнопки, радиокнопки, флажки, поля со списком, поля ввода текста)
- Водяные знаки
- Thumbnail
- JavaScript
- vEncryption (40 и 128 бит)
- Контуры (с поддержкой русских, турецких, балтийских, восточных европе, греческих, языков CJK).
- Сжатие
- Сжатие изображения (Jpeg, Flate, CCITT 3, CCITT 3 (2D), CCITT 4)
- Гиперссылка
- Аннотации (с поддержкой русских, турецких, балтийских, восточных европе, греческих, CJK-языков).
- Встраивание шрифтов True Type (TTF и TTC)
- Эмуляция стиля шрифта Underline и StrikeOut
- Существующий вывод в Stream для работы с приложениями CGI/ISAPI
- Фильтры для QReport, FastReport и построителя отчетов.
- Набор компонентов для работы с DBGrids
- Подтип шрифта True Type
Это стоит 299 долларов США, но вы получаете то, за что платите.
alt text http://www.llion.net/images/products/llpdflib-s-mid.jpg
Ответ 8
Существует два способа создания отчетов в формате PDF с помощью eDocEngine. Либо вы используете компонент построителя отчетов (например, QuickReport, Rave и т.д.), А затем используйте интерфейс eDocEngine для сохранения содержимого в формате PDF.
Другим способом является программирование с использованием класса TgtPDFDocument, а затем настройка его свойств и коллекций. Это дает гораздо более тонкий контроль над такими функциями, как водяные знаки, разрешения, безопасность паролей и т.д.