|
|
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Приветствую! В топике muPDF уже шла речь о моей обертке над PDF.DLL от Google Chrome. Вобщем то, вся обертка заключается в двух юнитах MyPDFRender.pas и MyChromePDFRender.pas Но решил всё оформить культурно под именем ChromePDFRendererForDelphi. Создал репозиторий на GitHub'e , в котором планирую выкладывать исправления или добавление фич. Кроме обертки в репозитории находятся: 1) Компонент для FastReport'a для встраивания страницы из PDF-файла как графического обьекта в отчет. Есть возможность грузить PDF-документ из файла на диске, из файла загруженного в компонент и из датасета. Правда, не могу пока найти баг, из датасета грузит только в design-time. Отображение возможно в двух режимах: векторном (рендеринг через Canvas - функции) и через промежуточный Bitmap. Отдельное свойство указывает, из какого из трех источников брать PDF-файл. Другое свойство указывает номер отображаемой PDF-страницы. DPI определяется автоматически. 2) Девелоперский проект для обертки и компонента для FastReport'a 3) И маленький, но интересный проект: PDF-просмотрщик для демонстрации обертки 4) PDF.DLL и скомпилированные проекты (в папке BIN\ ) Важную вещь не сказал: все тестировалось и писалось на Delphi 6 Service Pack 3 Теперь насчет лицензионной чистоты PDF.DLL. Не знаю :) В интернете куча мнений. К примеру, несколько лет назад Google открыл исходники библиотеки (правда под именем pdfium), так что если я правильно понимаю, либу стало возмжно легально распространять с проектом. Единственный вопрос, какую либу: PDF.DLL или PDFium.DLL. Вот статья на немецком: https://www.golem.de/news/google-chromes-pdf-renderer-ist-open-source-1405-106692.html Далее выкладываю содержимое репозитория на сегодняшний день (без папки BIN\ ) на форуме, мало ли что там в будущем с гитхабом произойдет. Кстати, PDF.DLL еще выложил на своем дропбоксе: скачать PDF.DLL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 12:53 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Компонент для FastReport'a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 12:54 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Простой просмотрщик PDF-файлов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 12:55 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
статья с golem.de в виде PDF-файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 13:04 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Большое спасибо. Кроик СемёнКстати, PDF.DLL еще выложил на своем дропбоксе: скачать PDF.DLL На всякий случай выкладываю тут: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 13:22 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Спасибо, Кроик Семён ! Очень полезная штука. Чуток переделал программку для просмотра PDF . Убрал то, что на мой взгляд лишнее... Немного по-другому сделал загрузку функций из DLL , ну и т.д. Мне часто приходится переводить большие файлы PDF (около 12МБ на 1лист), полученные в высоком качестве из AutoCAD , в файлы JPG или TIFF . Для этого есть много программок on-line . Но у них есть ряд ограничений. Потому полностью на безе Ваших модулей сделал свой PDF --> TIFF . Прилагаю ( Delphi Tokyo 10.2.2- 32bit, Win10-64bit ) - ссылка http://gofile.me/2Zesj/SWtlK9cfw Не совсем понял, почему не удалось напрямую использовать функцию библиотеки pdf.dll - RenderPDFPageToBitmap (хотя она есть): рендеринг делается всегда через контекст устройства. Там не понятно, что в качестве параметра этой функции для того Bitmap, куда надо рендерить, задавать? И ещё вопрос. Нет ли похожей DLL , которая могла бы работать при компиляции проекта Delphi под 64bit ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 12:39 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Ну рассказывай чем собирал ,как ужимал ,что удалял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 13:13 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Vladimir1212И ещё вопрос. Нет ли похожей DLL , которая могла бы работать при компиляции проекта Delphi под 64bit ? существует проект PDFium, который есть развитие PDF.DLL oт Chrome после открытия исходников. Вот что находится на его базе: 1) Pascal-Sources: PdfiumLib 2) DLLs (32бит и 64бит): Pdfium Build Server Vladimir1212Не совсем понял, почему не удалось напрямую использовать функцию библиотеки pdf.dll - RenderPDFPageToBitma просто всё завязал на RenderPDFToCanvas для уменьшения кода и единобразия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 16:43 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
еще бы djvu смотреть, и цены бы не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 17:03 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
под ванНу рассказывай чем собирал ,как ужимал ,что удалял. По мелочам... Блоки Try...End по-своему сделал, вывод сообщения об ошибке - по-простому (тот что был raise Exception.Create('Error!') , ничего не выдавал), MouseWheel для прокрутки, убрал родительский класс с абстрактными методами: ну не нужен он мне просто. Все ненужные мне методы тоже выкинул. Сейчас вот добавил сохранение в Tiff , Jpeg или Bmp по выбору кнопкой. Новая ссылка: http://gofile.me/2Zesj/DgS4TzKwx Собирал под Tokyo 10.2.2 , компилляция только Win32 . Тестировал в Win10 64bit . --------------------------------------------------------------------------------------------------------- Сейчас попытаюсь поиграться с PDFium : хочу сделать приложение под 64bit . Только по ссылке выше этих библиотек PDFium.dll дофига. От 4 до 15Мб весом. Какую скачивать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:27 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Какую из DLLок выбрать: это сюда: https://github.com/pvginkel/PdfiumBuild ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:38 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Кроик, спасибище тебе невероятное! То, что искал. То, что доктор прописал. До этого в программе был вставлен штатный просмотровщик акробата, который требовал, чтобы акробат ридер стоял у клиента и был ужасно тормозной, этот просто летает. Офигенски всё просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 13:11 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
классно, я рад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 19:23 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, А простой "текстовый" PDF как прочитать. Ничего кроме текста нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:08 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Всмысле, что значит "прочитать"? Глазами с экрана? или вы имеете ввиду "программно вытащить" текст из PDF". Если это, то такой вопрос не по данному топику. Здесь только рендеринг в картинку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:37 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Кроик СемёнВсмысле, что значит "прочитать"? Глазами с экрана? или вы имеете ввиду "программно вытащить" текст из PDF". Если это, то такой вопрос не по данному топику. Здесь только рендеринг в картинку Прочитать = получить данные в текстовом виде с первой строки файла по последнюю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:42 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
LocksmithPCПрочитать = получить данные в текстовом виде с первой строки файла по последнюю.Без формата, цвета и пр. красивостей? Ну та считай в поток и выцепи текст по открытому ПДФформату типа https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:55 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
GatorLocksmithPCПрочитать = получить данные в текстовом виде с первой строки файла по последнюю.Без формата, цвета и пр. красивостей? Ну та считай в поток и выцепи текст по открытому ПДФформату типа https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf Только парсить всё это задолбаешься, поэтому библиотеки для работы с PDF стоят по полторы штуки зелени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 14:01 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 14:03 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
GatorБез формата, цвета и пр. красивостей? Ну та считай в поток и выцепи текст по открытому ПДФформату типа https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf Вот мне ВВП пообещал на пензию в 59, месяц побухаю, а потом сразу возьмусь за чтение этого увлекательного романа о семистах страницах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 14:06 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
P.S. или вот еще, через Pdfium. Судя по названиям функций вроде оно, сам не пробовал 21355390 unit PdfiumCore; class TPdfPage function GetCharCount: Integer; function ReadChar(CharIndex: Integer): WideChar; function GetCharFontSize(CharIndex: Integer): Double; function GetCharBox(CharIndex: Integer): TPdfRect; function GetCharIndexAt(PageX, PageY, ToleranceX, ToleranceY: Double): Integer; function ReadText(CharIndex, Count: Integer): string; function GetTextAt(const R: TPdfRect): string; function GetTextAt(Left, Top, Right, Bottom: Double): string; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 14:16 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Кроик Семён LocksmithPC, https://stackoverflow.com/questions/3650957/how-to-extract-text-from-a-pdf Вроде все норм конвертнуло. 3600 страниц достаточно быстро. Спс. Кроик СемёнP.S. или вот еще, через Pdfium. Судя по названиям функций вроде оно, сам не пробовал 21355390 unit PdfiumCore; class TPdfPage function GetCharCount: Integer; function ReadChar(CharIndex: Integer): WideChar; function GetCharFontSize(CharIndex: Integer): Double; function GetCharBox(CharIndex: Integer): TPdfRect; function GetCharIndexAt(PageX, PageY, ToleranceX, ToleranceY: Double): Integer; function ReadText(CharIndex, Count: Integer): string; function GetTextAt(const R: TPdfRect): string; function GetTextAt(Left, Top, Right, Bottom: Double): string; С этим тоже поразбираюсь, надо на ходу кое-что рихтовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 14:23 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
LocksmithPCGatorБез формата, цвета и пр. красивостей? Ну та считай в поток и выцепи текст по открытому ПДФформату типа https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf Вот мне ВВП пообещал на пензию в 59, месяц побухаю, а потом сразу возьмусь за чтение этого увлекательного романа о семистах страницах :)Ну тебе ведь только текст вынуть надь. Плюс ещё сноски/заголовки/вставки/ надыбать-раздолбать. ________________ Ха! Да у меня только дельфёвых книжек за 1000 стр. каждая. Говно вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 00:19 |
|
||
|
ChromePDFRendererForDelphi - обертка для PDF.DLL от Google Chrome
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, уважаю! спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 08:05 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39668760&tid=2040355]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 497ms |

| 0 / 0 |
