Обычный текст -> RTF
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Обычный текст -> RTF
А теперь представь, что у тебя есть несколько десятков приложений ( как Windows, так и Internet ). И в каждом используется несколько (
у некоторых даже много ) объектов Adobe Flash. Которые вот-вот, если не уже...
у некоторых даже много ) объектов Adobe Flash. Которые вот-вот, если не уже...
Обычный текст -> RTF
включить печать "как картинку" и уменьшить качество. И все работает давно, клиент даже не заморачивается
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Обычный текст -> RTF
Ну, попробуйте. И лучше не одну страницу, а десяток. Посмотрите что на выходе получится. Если вообще получится.
Старая песня. Пользователей много, зоопарк осей, десяток мало. Поэтому всё заточено на стандартный класс. Пусть и в режиме "scan copy". Появилась новая тема - экспортировать в PDF уж очень многостраничные документы. "Scan copy" в коме. Напоминание пользователю о том, что нужно выбрать по умолчанию какой-нибудь PDF принтер, работает плохо. Плюс оказался нужен "тихий" сервис, pdf-файл сам формируется и кладётся в определённый каталог без участия пользователя. Я принял решение допилить стандартный класс. Пока вижу, что не ошибся. Есть отрицательные моменты, но это оказалось проще, чем запилить полностью новый генератор. Сейчас на этапе окончательного тестирования (ну, скажем так, бета тестирования ).Игорь Столяров писал(а): ↑29 Август 2019, 15:42 Поясните пжалуйста, а в чём суть битвы ? Может и мне надо …
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Обычный текст -> RTF
Клиент, наверно, не заморачивается, потому что не пользуется. На среднем качестве вылет на седьмой странице, на плохом - на одиннадцатой-двенадцатой.
We are hard at work… for you.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Обычный текст -> RTF
Вот вы ерундой занимаетесь. Есть конвертер из WMF в PNG штатный и есть конвертер из PNG в PDF немножко сторонний и немножко платный, но поскольку разработчика уже не существует, вряд ли это кого-то будет волновать. Все отлично экспортируется без всяких принтеров
Обычный текст -> RTF
Посмотрите ImageMagick, вроде там есть и консольная утилита и обычный библиотечный интерфейс ( нужно 32-бит dll )
Я ходил через Питон - взял файлы из PrintPreview ( правда, руками ), скопировал их в 1.wmf, 2.wmf и т д, потом переконвертил и собрал PDF. Получилось
Я ходил через Питон - взял файлы из PrintPreview ( правда, руками ), скопировал их в 1.wmf, 2.wmf и т д, потом переконвертил и собрал PDF. Получилось
Обычный текст -> RTF
договор из ртф на 4 страницы. Поэтому наверно работает уже много лет. На полном качестве на 2-й вылетало
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Обычный текст -> RTF
Вот этот штатный конвертер и валится. Стали бы ерундой заниматься? Да и PNG в PDF не есть хорошо (в конторе присутствует ограничение на размер вложенных файлов). Другое дело Питон. Если он распарсивает wmf и создаёт pdf, то это хорошо. Но это, опять же, Питон. Некое дополнительное звено.
We are hard at work… for you.
Обычный текст -> RTF
А я так и не понял, с выводом через Microsoft Print To PDF у всех всё нормально?
C10, Win10x64
Обычный текст -> RTF
Вроде Питон не при чём, просто я сходил на Pypi ( эээ, это всего лишь Python Package Index ... ) и посмотрел, что там есть на эту тему.kreator писал(а): ↑30 Август 2019, 11:55Вот этот штатный конвертер и валится. Стали бы ерундой заниматься? Да и PNG в PDF не есть хорошо (в конторе присутствует ограничение на размер вложенных файлов). Другое дело Питон. Если он распарсивает wmf и создаёт pdf, то это хорошо. Но это, опять же, Питон. Некое дополнительное звено.
Ну и погуглил немного. 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
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Обычный текст -> RTF
Yufil, из png неинтересно. Ни в каком виде. Интересно wmf распарсить.
У нас нормально.
We are hard at work… for you.
Обычный текст -> RTF
Ну так вопрос и был адресован вам в купе со Столяровым. А какой-нибудь рабочий примерчик можно или довольствоваться кодом Столярова по выбору принтеров?
Win 10x64, C10, все принтеры, кроме Microsoft Print To PDF, удалены, при печати формируется пустой pdf-файл. Научите.
C10, Win10x64
Обычный текст -> RTF
Заменить '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 , цимес...