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

Clarion, Clarion 7

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

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

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

Сообщение porutchik »

вроде начиная с cw7 был вывод отчета в pdf. Чем вариант не устраивает?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

А теперь представь, что у тебя есть несколько десятков приложений ( как Windows, так и Internet ). И в каждом используется несколько (
у некоторых даже много ) объектов Adobe Flash. Которые вот-вот, если не уже...
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

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

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

Сообщение porutchik »

включить печать "как картинку" и уменьшить качество. И все работает давно, клиент даже не заморачивается
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

porutchik писал(а): 29 Август 2019, 17:15 включить печать "как картинку" и уменьшить качество. И все работает давно, клиент даже не заморачивается
Клиент, наверно, не заморачивается, потому что не пользуется. На среднем качестве вылет на седьмой странице, на плохом - на одиннадцатой-двенадцатой.
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

Вот вы ерундой занимаетесь. Есть конвертер из WMF в PNG штатный и есть конвертер из PNG в PDF немножко сторонний и немножко платный, но поскольку разработчика уже не существует, вряд ли это кого-то будет волновать. Все отлично экспортируется без всяких принтеров
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

Посмотрите ImageMagick, вроде там есть и консольная утилита и обычный библиотечный интерфейс ( нужно 32-бит dll )
Я ходил через Питон - взял файлы из PrintPreview ( правда, руками ), скопировал их в 1.wmf, 2.wmf и т д, потом переконвертил и собрал PDF. Получилось
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

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

Сообщение porutchik »

kreator писал(а): 29 Август 2019, 17:36Клиент, наверно, не заморачивается, потому что не пользуется. На среднем качестве вылет на седьмой странице, на плохом - на одиннадцатой-двенадцатой.
договор из ртф на 4 страницы. Поэтому наверно работает уже много лет. На полном качестве на 2-й вылетало
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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

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

Сообщение vic7tar »

А я так и не понял, с выводом через Microsoft Print To PDF у всех всё нормально?
C10, Win10x64
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

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
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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

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

Сообщение vic7tar »

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

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

Сообщение Yufil »

kreator писал(а): 30 Август 2019, 15:42Yufil, из 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 , цимес...
Ответить