Последняя версия DataExpress 3 beta от 9 августа 2020 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Расширения
ИзображениеИзображениеИзображение

Решения для создания PDF в DataExpress

Полезное от пользователей DataExpress
KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 28 сен 2017, 22:04

Я в html не делал, пока всё в .odt держу. Сделать в html и скинуть?

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: 13 апр 2017, 08:57
Поблагодарили: 6 раз
Контактная информация:

Re: Решения для создания PDF в DataExpress

Сообщение YurAnt » 28 сен 2017, 22:04

Давайте одт.

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 28 сен 2017, 22:11

Склад.zip

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: 13 апр 2017, 08:57
Поблагодарили: 6 раз
Контактная информация:

Re: Решения для создания PDF в DataExpress

Сообщение YurAnt » 29 сен 2017, 17:58

Вот так сконвертировалось через html2pdf:
skl.zip
(3.64 КБ) 96 скачиваний

Касаемо
KoalaBear писал(а):Пробовал через Libre Office через экспорт (запуск с параметрами), работает, но долго, 20 страничный файл конвертирует больше минуты(
возник вопрос - Вы проверяли - сколько времени этот же файл создается в MSOffice?
Судя по тому, что весь файл - это таблица, очевидно формируемая всевозможными цикличными запросами сумм и итогов и вычисляемыми полями - не удивлюсь, если она долго создается и в MSWord...

Пробовали форматы отличные от odt с последующим открытием в Libre?

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 29 сен 2017, 21:03

YurAnt писал(а):Вот так сконвертировалось через html2pdf:

Вполне достойно получилось
YurAnt писал(а):сколько времени этот же файл создается в MSOffice?

нет, не проверял, т.к не располагаю дома пакетом от MS. Есть на работе, но как бы и нет), да и на работе дизайном базы заниматься некогда - тружусь и результаты труда заношу в базу как пользователь.
Я себе предполагал следующую логику:
1.при печати в указанной формой директории создаётся временный промежуточный файл с именем, указанным формой и расширением шаблона;
2. затем конвертируется в PDF
3. и запускается,
4. после чего временный файл удаляется.
первые 2 пункта реализуемы, а далее тупик: запустить файл нужно только после того, как он сконвертировался, а это непрогнозируемо и никак не отследить.
Очень понравился вариант с Вашим конвертером, но обязательность наличия библиотек MSOffice делает Ваше изящное решение неприменимым в моих условиях. По html2pdf нагугливал только решения на php, с чем заморачиваться тоже не хотелось бы, т.к. не знаю, в какое количество обвеса базы это может вылиться. Ваш единственный исполняемый файл, функция которого конвертировать скормленное ему в pdf и открыть в ассоциированном приложении - идеальное решение, если бы на входе был odt или html формат.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: 13 апр 2017, 08:57
Поблагодарили: 6 раз
Контактная информация:

Re: Решения для создания PDF в DataExpress

Сообщение YurAnt » 29 сен 2017, 21:29

..далее тупик: запустить файл нужно только после того, как он сконвертировался, а это непрогнозируемо и никак не отследить.

Ну не все так плохо. Отследить завершение конвертации можно. Только для этого нужно, чтобы руки дошли сделать функцию на CreateProcess вместо ShellExecute. CreateProcess позволяет более расширенно управлять запуском и следить за состоянием запущенного процесса.
..обязательность наличия библиотек MSOffice делает Ваше изящное решение неприменимым в моих условиях.

Тоже не панацея. Можно попробовать сделать надстройку для самого первого решения (в шапке), чтобы запускалось как мое (разбирать исходник лень), и тогда "давайдасвидания", дядя Билл... ;)
Вроде как этой штуке не нужен установленный MSOffice (не проверял правда).

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 29 сен 2017, 21:42

Спасибо, попробую переварить!

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 29 сен 2017, 21:46

DocTo

...

Must have Microsoft Word installed on host machine.

((

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: 13 апр 2017, 08:57
Поблагодарили: 6 раз
Контактная информация:

Re: Решения для создания PDF в DataExpress

Сообщение YurAnt » 29 сен 2017, 22:24

О, щит! маза-факаная ситуация... :( Я-то думал...
Ладно. Все еще впереди... Будем копать в сторону апи Open/LibreOffice.

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: 02 сен 2017, 17:05

Re: Решения для создания PDF в DataExpress

Сообщение KoalaBear » 29 сен 2017, 23:25

https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/ru
--convert-to output_file_extension[:output_filter_name] [--outdir output_dir] files

Batch convert files. If --outdir is not specified, then current working directory is used as output_dir.
Eg. --convert-to pdf *.doc
--convert-to pdf:writer_pdf_Export --outdir /home/user *.doc