Обычный текст -> RTF

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
porutchik
Новичок
Сообщения: 21
Зарегистрирован: 01 Февраль 2009, 5:35

Обычный текст -> RTF

Сообщение porutchik » 29 Август 2019, 16:29

вроде начиная с cw7 был вывод отчета в pdf. Чем вариант не устраивает?

Yufil
Ветеран движения
Сообщения: 1141
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Обычный текст -> RTF

Сообщение Yufil » 29 Август 2019, 16:32

А теперь представь, что у тебя есть несколько десятков приложений ( как Windows, так и Internet ). И в каждом используется несколько (
у некоторых даже много ) объектов Adobe Flash. Которые вот-вот, если не уже...

Yufil
Ветеран движения
Сообщения: 1141
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Обычный текст -> RTF

Сообщение Yufil » 29 Август 2019, 16:39

porutchik писал(а):
29 Август 2019, 16:29
вроде начиная с cw7 был вывод отчета в pdf. Чем вариант не устраивает?
Ну, если бы работали нормально - никто бы слова не сказал.

porutchik
Новичок
Сообщения: 21
Зарегистрирован: 01 Февраль 2009, 5:35

Обычный текст -> RTF

Сообщение porutchik » 29 Август 2019, 17:15

включить печать "как картинку" и уменьшить качество. И все работает давно, клиент даже не заморачивается

kreator
✯ Ветеран ✯
Сообщения: 3356
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Обычный текст -> RTF

Сообщение kreator » 29 Август 2019, 17:33

porutchik писал(а):
29 Август 2019, 16:29
вроде начиная с cw7 был вывод отчета в pdf. Чем вариант не устраивает?
Ну, попробуйте. И лучше не одну страницу, а десяток. Посмотрите что на выходе получится. Если вообще получится.
Игорь Столяров писал(а):
29 Август 2019, 15:42
Поясните пжалуйста, а в чём суть битвы ? Может и мне надо …
Старая песня. Пользователей много, зоопарк осей, десяток мало. Поэтому всё заточено на стандартный класс. Пусть и в режиме "scan copy". Появилась новая тема - экспортировать в PDF уж очень многостраничные документы. "Scan copy" в коме. Напоминание пользователю о том, что нужно выбрать по умолчанию какой-нибудь PDF принтер, работает плохо. Плюс оказался нужен "тихий" сервис, pdf-файл сам формируется и кладётся в определённый каталог без участия пользователя. Я принял решение допилить стандартный класс. Пока вижу, что не ошибся. Есть отрицательные моменты, но это оказалось проще, чем запилить полностью новый генератор. Сейчас на этапе окончательного тестирования (ну, скажем так, бета тестирования :D ).
We are hard at work… for you. :)

kreator
✯ Ветеран ✯
Сообщения: 3356
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Обычный текст -> RTF

Сообщение kreator » 29 Август 2019, 17:36

porutchik писал(а):
29 Август 2019, 17:15
включить печать "как картинку" и уменьшить качество. И все работает давно, клиент даже не заморачивается
Клиент, наверно, не заморачивается, потому что не пользуется. На среднем качестве вылет на седьмой странице, на плохом - на одиннадцатой-двенадцатой.
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 873
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Обычный текст -> RTF

Сообщение RaFaeL » 29 Август 2019, 18:45

Вот вы ерундой занимаетесь. Есть конвертер из WMF в PNG штатный и есть конвертер из PNG в PDF немножко сторонний и немножко платный, но поскольку разработчика уже не существует, вряд ли это кого-то будет волновать. Все отлично экспортируется без всяких принтеров

Yufil
Ветеран движения
Сообщения: 1141
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Обычный текст -> RTF

Сообщение Yufil » 29 Август 2019, 19:14

Посмотрите ImageMagick, вроде там есть и консольная утилита и обычный библиотечный интерфейс ( нужно 32-бит dll )
Я ходил через Питон - взял файлы из PrintPreview ( правда, руками ), скопировал их в 1.wmf, 2.wmf и т д, потом переконвертил и собрал PDF. Получилось

porutchik
Новичок
Сообщения: 21
Зарегистрирован: 01 Февраль 2009, 5:35

Обычный текст -> RTF

Сообщение porutchik » 29 Август 2019, 23:31

kreator писал(а):
29 Август 2019, 17:36
Клиент, наверно, не заморачивается, потому что не пользуется. На среднем качестве вылет на седьмой странице, на плохом - на одиннадцатой-двенадцатой.
договор из ртф на 4 страницы. Поэтому наверно работает уже много лет. На полном качестве на 2-й вылетало

kreator
✯ Ветеран ✯
Сообщения: 3356
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Обычный текст -> RTF

Сообщение kreator » 30 Август 2019, 11:55

RaFaeL писал(а):
29 Август 2019, 18:45
Вот вы ерундой занимаетесь. Есть конвертер из WMF в PNG штатный и
Вот этот штатный конвертер и валится. Стали бы ерундой заниматься? Да и PNG в PDF не есть хорошо (в конторе присутствует ограничение на размер вложенных файлов). Другое дело Питон. Если он распарсивает wmf и создаёт pdf, то это хорошо. Но это, опять же, Питон. Некое дополнительное звено.
We are hard at work… for you. :)

Аватара пользователя
vic7tar
Старожил
Сообщения: 228
Зарегистрирован: 09 Февраль 2017, 20:12

Обычный текст -> RTF

Сообщение vic7tar » 30 Август 2019, 12:40

А я так и не понял, с выводом через Microsoft Print To PDF у всех всё нормально?
C10, Win10x64

Yufil
Ветеран движения
Сообщения: 1141
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Обычный текст -> RTF

Сообщение Yufil » 30 Август 2019, 13:21

kreator писал(а):
30 Август 2019, 11:55
RaFaeL писал(а):
29 Август 2019, 18:45
Вот вы ерундой занимаетесь. Есть конвертер из WMF в PNG штатный и
Вот этот штатный конвертер и валится. Стали бы ерундой заниматься? Да и PNG в PDF не есть хорошо (в конторе присутствует ограничение на размер вложенных файлов). Другое дело Питон. Если он распарсивает wmf и создаёт pdf, то это хорошо. Но это, опять же, Питон. Некое дополнительное звено.
Вроде Питон не при чём, просто я сходил на Pypi ( эээ, это всего лишь Python Package Index ... ) и посмотрел, что там есть на эту тему.
Ну и погуглил немного. ImageMagick вроде отношения к Питону не имеет - это просто dll, но для Python есть простой и удобный интерфейс.

С другой стороны, ImageMagick содержит утилиты командной строки https://imagemagick.org/script/command-line-tools.php, что уже решает задачу. Но это я увидел позже.
Навскидку нарыл в качестве примера несколько заклинаний из Интернета

convert "*.{png,jpeg}" -quality 100 outfile.pdf
convert "*.{ext1,ext2,ext3,...}" -quality 100 outfile.pdf
magick result*.png out.pdf

kreator
✯ Ветеран ✯
Сообщения: 3356
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Обычный текст -> RTF

Сообщение kreator » 30 Август 2019, 15:42

Yufil, из png неинтересно. Ни в каком виде. Интересно wmf распарсить.
vic7tar писал(а):
30 Август 2019, 12:40
А я так и не понял, с выводом через Microsoft Print To PDF у всех всё нормально?
У нас нормально.
We are hard at work… for you. :)

Аватара пользователя
vic7tar
Старожил
Сообщения: 228
Зарегистрирован: 09 Февраль 2017, 20:12

Обычный текст -> RTF

Сообщение vic7tar » 30 Август 2019, 16:05

kreator писал(а):
30 Август 2019, 15:42
У нас нормально.
Ну так вопрос и был адресован вам в купе со Столяровым. А какой-нибудь рабочий примерчик можно или довольствоваться кодом Столярова по выбору принтеров?
Win 10x64, C10, все принтеры, кроме Microsoft Print To PDF, удалены, при печати формируется пустой pdf-файл. Научите.
C10, Win10x64

Yufil
Ветеран движения
Сообщения: 1141
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Обычный текст -> RTF

Сообщение Yufil » 30 Август 2019, 16:25

kreator писал(а):
30 Август 2019, 15:42
Yufil, из png неинтересно. Ни в каком виде. Интересно wmf распарсить.
Заменить 'png' на 'wmf' - и всё...

Но тут есть тонкость - PrintPreviewQueue.Q - очередь с именами файлов для просмотра, файлы находятся в каталоге %TEMP% и имеют имена типа сlaxxxxx.tmp.
Перед тем, как конвертировать и собирать PDF надо, во-первых, сменить расширение ( например, сделать claxxxx.tmp.wmf ), кроме того, нет никакой уверенности в правильном порядке страниц. ( поэтому сделать новое имя _0001.claxxxx.tmp.wmf, _0002.claxxxx.tmp.wmf ) . А потом вызвать конвертор, примерно так.

Run('convert _0*.wmf output.pdf',1)

Я не стал допиливать, работает - и хорошо ...

В качестве теста:
1. Скачать ImageMagick ( 32 bit, dll )
2. Установить ( включить legacy command, добавить в path )
3. Вывести любой отчёт в Preview оставить просмотр открытым
4 Перейти в каталог %temp% ( cd %temp% )
5. Найти файлы claxxxx.tmp, каждый файл - отдельный лист
6. Переименовать ( или скопировать ) файлы в _001.wmf, _002.wmf ....
7. Исполнить команду convert *.wmf output.pdf , цимес...

Ответить