Страница 7 из 9

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

Добавлено: 16 Август 2019, 22:12
RaFaeL
Игорь Столяров писал(а): 16 Август 2019, 16:06Если забыть об экзотике вроде различных коммерческих библиотек
А почему об этом нужно забывать?

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

Добавлено: 16 Август 2019, 22:21
Игорь Столяров
RaFaeL писал(а): 16 Август 2019, 22:12А почему об этом нужно забывать?
Так а зачем платить гроши за то, что можно выпилить в домашних условиях ? И кстати, не так уж и сложно.
Тырить и юзать старые версии библиотек - грешно и тоскливо.

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

Добавлено: 17 Август 2019, 8:23
gopstop2007
Игорь Столяров писал(а): 16 Август 2019, 12:23Поэтому встроенный кларионовский PDF - жутко бесит. :(
Почему не использовать PDF принтеры (BullZip PDF - сам пользуюсь), укажите его для печати нужных документов и все, кстати сохраняет готовый документ в pdf c нужным (шаблоном) названия в нужной папке. Поведение bullzip заложите заранее при настройках.

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

Добавлено: 17 Август 2019, 8:40
Игорь Столяров
gopstop2007 писал(а): 17 Август 2019, 8:23Почему не использовать PDF принтеры (BullZip PDF - сам пользуюсь)
Использовать PDF принтеры можно и нужно - но решение должно быть универсальным.
Насчёт "BullZip PDF" и "Поведение заложите заранее при настройках" - это всё очень здорово только для домашних самописных
систем, где программист - первый парень на деревне и ходит всем настраивает BullZip-пы и т.д.

Если Вы будите продавать программу за деньги сторонним пользователям и к ней нужно будет ещё устанавливать и настраивать
некий "BullZip" - то очень быстро устанете читать о себе комментарии. Поверьте на слово - я это проходил. ;)

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

Добавлено: 23 Август 2019, 12:03
kreator
Игорь Столяров писал(а): 14 Август 2019, 16:54Сохраняем все текущие параметры печати, т.к. они системные и выставляем новые:

Код: Выделить всё

Printer{PropPrint:Device} = 'Microsoft Print to PDF'
Printer{PropPrint:PrintToFile} = True
Printer{PropPrint:PrintToName} = имя PDF файла для отчёта
С Майкрософтовским принтером всё хорошо. А вот с остальными почему-то засада. Например, принтер "Adobe PDF" создаёт файл. Но этот файл странный, не читается. Такая же фигня с "PDF24". Игорь, что-то ещё не хватает?
К сожалению на работе кроме Майкрософтовского сейчас ничего нет. Попробую в понедельник что-нибудь установить и буду сравнивать файлы, созданные через PropPrint:PrintToName и без.

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

Добавлено: 23 Август 2019, 12:19
Игорь Столяров
kreator писал(а): 23 Август 2019, 12:03Например, принтер "Adobe PDF" создаёт файл. Но этот файл странный, не читается.
Когда тестировали - проверяли на многих распространённых PDF принтерах, всё работало.
Но конечно не на всех - их много самопальных, с местечковыми наворотами, частичной поддержкой команд и стандарта PDF.

Конкретно "Adobe PDF Printer" конечно проверяли. Хотя в этом вряд ли есть смысл, т.к. он идёт только в комплекте
с дорогим Adobe Acrobat и вряд ли будет использоваться "обычными" пользователями …

У Вас скорее всего создаётся не PDF файл, а выполняется печать в файл в формате EMF (см. заголовок файла) -
такое возможно если драйвер не поддерживает команды экспорта в PDF.

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

Добавлено: 23 Август 2019, 13:47
kreator
Придётся смотреть файлы. В заголовке файла точно Adobe. Может, действительно, проблема с 11 версией связана? Нет?

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

Добавлено: 23 Август 2019, 15:13
Игорь Столяров
kreator писал(а): 23 Август 2019, 13:47проблема с 11 версией связана
Как говорят хирурги: Здесь надо делать вскрытие. Вскрытие - оно расскажет, кто чего не ел … ;)

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

Добавлено: 28 Август 2019, 15:49
kreator
Вскрытие показало, что формируется файл PostScript. Так делает Adobe PDF и Bullzip PDF. doPDF вообще не понимает 'printtofile'. Остальные pdf принтеры пока не пробовал. Да и, видимо, ни к чему. Диагноз ясен. Надо искать бесплатный конвертер с командной строкой.

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

Добавлено: 28 Август 2019, 19:06
Yufil
А что именно конвертить? Можно привлечь Python - он халявный, и есть утилиты, конвертирующие HTML в PDF, даже юзал, мож пойдёт. Например, https://xhtml2pdf.readthedocs.io/en/latest/

Ну и пресловутый L&L - он напрямую печатает в PDF. Если уже совсем никак. А надо ...

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

Добавлено: 29 Август 2019, 11:13
kreator
Yufil, надо конвертить ps в pdf. Нашёл GhostScript для этого дела. Есть и на GhostScript.com и в поставке Bullzip PDF. Сейчас разбираюсь. Пока вроде зачёт. Я так понимаю, эти виртуальные принтеры (многие из них) сначала создают файл .ps, а уже потом его перегоняют в .pdf. Некоторые (как Bullzip) пользуются этим GS (правда статистики не набрал, может всё впереди :D ). У Adobe вроде как свой Distiller. MS вообще молодцы, сразу загоняют в pdf.
Кому-нибудь интересна сия тема? Сделал дописку в стандартный класс PDFReportGenerator. Могу выложить как совсем добью.

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

Добавлено: 29 Август 2019, 15:26
Yufil
Сейчас преобразовал wmf ( preview файлы отчёта Clarion ) в PDF, используя пакет ImageMagick. Получил вполне адекватный PDF, правда, огромного размера ( пилить надо ).

Вот пара страниц из примера People...
https://mega.nz/#!FlAT2IzZ!YLgZOARnoLfD ... yJY_I8V_Yo

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

Добавлено: 29 Август 2019, 15:42
Игорь Столяров
Поясните пжалуйста, а в чём суть битвы ? Может и мне надо …

1. Для Windows 10 - PDF (и XPS) создаётся штатным принтером.
2. Для любителей ходить в одной кофточке всю жизнь (Windows 7 и прочие миллениумы) - через офисный пакет.
3. ???

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

Добавлено: 29 Август 2019, 16:12
Yufil
Да нет никакой битвы, я вообще почти не работаю с Кларионом, а если нужно PDF - сделаю с полпинка без всяких принтеров и драйверов.
Но вот получить отчёт без Клариона бывает полезно ...
А если у тебя ХЗ где заказчик ( точнее ХЗ сколько заказчиков ) и у него ХЗ что установлено...

В общем, решаемо скорее всего ... Кстати, разобрался с масштабированием и склеиванием в PDF. Работает ...

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

Добавлено: 29 Август 2019, 16:18
Игорь Столяров
Yufil писал(а): 29 Август 2019, 16:12и у него ХЗ что установлено
Вот как раз в этом случае рекомендуется исключительно офисный пакет. Там всё понятно.
Был у меня заказчик, которому я рекомендовал когда-то давно установить PDF принтер типа булзипа и т.д..
Он потом ещё пол-года ходил ныл, что у него что-там и откуда-то перестало печататься, а потом вообще принтер сгорел … :)