Автор | Сообщение |
|
| |
Пост N: 522
Зарегистрирован: 08.07.06
|
|
Отправлено: 16.04.17 12:26. Заголовок: Печать доверенностей, типовая форма M2
Появилась очередная задачка - упорядочить чехарду с доверенностями, которые каждый отдел печатает в стороннем приложении (Бизнес-Пак), соотв. единой нумерации по организациям нет как таковой. Корявость в том, что мало того, что это документ в половину листа А4, напечатан с двух сторон, так там есть корешок, на котором мелкая табличка с полями повернута на 90°. Посмотрел 1с - там себе голову ничем не забивают, доверенность печатается целиком с одной стороны на листе формата А4. Корешок никуда не повернут, идет в верхней части листа. Скомбинировали вроде норм. Хочется "все по настоящему", "в гамаке и стоя". Ну и бумагу сэкономить, куда-же без этого - в конторе принтеры двухсторонние в основном. На текущий момент нет у меня готового инструмента для этой задачи. что вижу в качестве решения: 1) формировать PDF файл, там с поворотами и прочим нет проблем. Нужно будет проверить, чтобы на каждом компе вызывался какой-нить PDF viewer. Что смущает - вызов сторонней утилиты, которая ранее не использовалась в связке с моей программой. 2) вызывать Excel через OLE, рисовать рамки, нумеровать, вписывать ФИО, даты и тп. Разумеется, офис есть на каждой машине и точно работает, тк много чего через него делается. Что смущает - формирование 20-50-100 доверенностей через OLE, со вставкой "ручных" разделителей страниц тормозит процесс подготовки документа. Не хотелось-бы сначала провозиться с поворотом текста, рамочками, шрифтами и прочим, а потом понять, что все равно народ будет печатать через Бизнес-Пак... 3) Win_Prn - "родное" решение, но нет предпросмотра документа и что-то не вижу функции печати текста под углом. Может плохо искал? 4) формировать HTML, скармливать его "программе по умолчанию" - пусть печатает. Решение типа PDF, только никакой библиотеки не нужно. Что предпочесть? Может есть еще варианты? Спасибо.
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| постоянный участник
|
Пост N: 1310
Зарегистрирован: 27.01.07
|
|
Отправлено: 15.05.17 14:53. Заголовок: Dima пишет: Sergy ..
Dima пишет: цитата: | Sergy Ты бы уже 100 раз успел все сделать на PS32 |
| Не забывай! Петр пишет: цитата: | Так обьяснял же человек цитата: Хочется "все по настоящему", "в гамаке и стоя". |
|
|
|
|
|
| |
Пост N: 6429
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.05.17 15:39. Заголовок: PSP :sm54: ..
PSP
|
|
|
|
| |
Пост N: 200
Зарегистрирован: 19.05.05
|
|
Отправлено: 15.05.17 19:27. Заголовок: Sergy Если в вызове ..
Sergy Если в вызове функции " cFont := HPDF_LoadTTFontFromFile(pdf, getenv("SystemRoot")+"\fonts\arial.ttf",.f.) // простой текст " поставить последний параметр поставить .t. , шрифт будет встроен в PDF, на любой другой машине будет просматриваться корректно. Встроенные шрифты (все, или может быть какой-то один или несколько) вероятно глючат при работе с UTF-8. Закоментируйте ваш цикл по фонтам ("FOR EACH cFont IN font_list "), и PDF с кодировкой UTF-8 нормально построится по крайней мере у меня по вашему примеру PDF сформировался
|
|
|
|
| |
Пост N: 540
Зарегистрирован: 08.07.06
|
|
Отправлено: 15.05.17 22:05. Заголовок: Dima пишет: Sergy ..
Dima пишет: цитата: | Sergy Ты бы уже 100 раз успел все сделать на PS32 |
| Ага. http://www.abeelabs.com/index.php http://clipper.borda.ru/?1-3-0-00000308-000-0-0-1458307361 Dima пишет: цитата: | Есть одна пичалька. Что первый что последний Pagescript32 виснет на PSINIT под Windows 8. Винда правда 64 бита. Совместимость копали и до лампочки. Скрытый текст
METHOD TPageScript:Init() ::bWaterMark := NIL // Codeblock for Watermark function ::nWaterMark := AWM_NONE // Indicates if the WaterMark is to be printed foreground or background ::lFromDialog := .f. // Indicates if printer selected from printer dialog ::lClipper := .f. // Indicates if calls to TextOut and TextBox should be compatible with PageScript for Clipper ::nUnit := APS_MILL // Default unit is MILLIMETERS ::aPrinters := {} // List of available printers ::nError := PSE_NOERROR // Indicates an error condition, such as no printer available ::aDocInfo := {0, "", "", APS_PORTRAIT, 1, APS_COURIER} // Print job info array ::hDll := DllLoad("PScript.dll") // Handle of the .DLL // Вероятно виснет тут if ::hDll == nil//0 ::nError := PSE_DLLNOTLOADED // DLL not loaded error else ::nError := DllCall(::hDll, DLL_STDCALL, "PSInit") // No error, set the coordinate system to TOP/LEFT (Default) if ::nError == PSE_NOERROR DllCall(::hDll, DLL_STDCALL, "PSSetCoorSystem", APS_TOPLEFT) endif endif Return Self |
|
PS Под XP и 7 работает нормально
| Хочу заложить нормальный фундамент в систему печати - надоели временные решения: сначала было просто "COPY outfile.txt TO PRN", потом появилось решение для печати красивых, полностью Win-GUI ценников, на его основе - печать целиком одного листа в нужном размере. По сути - аналог COPY ... TO PRN. Потом Win_PrintFileRaw с возможностью выбора принтера... На скорую руку - пока есть Excel и Word под рукой, можно помуздыкаться с миллиметрами и шрифтами, но рано или поздно - тоже пойдет коту под хвост... Нужно сделать красиво и надолго.
|
|
|
|
| |
Пост N: 6430
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.05.17 22:37. Заголовок: Sergy Да проблема б..
Sergy Да проблема была , чел потом снес свою ось и поставил что то другое и не жаловался более. А так под XP , 7 и 10 работает норм.
|
|
|
|
| |
Пост N: 355
Зарегистрирован: 03.12.08
|
|
Отправлено: 15.05.17 22:55. Заголовок: PageScript и всё раб..
PageScript и всё работает замечательно
|
|
|
|
| постоянный участник
|
Пост N: 1443
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.05.17 23:03. Заголовок: Softlog86 пишет Page..
Softlog86 пишет цитата: | PageScript и всё работает замечательно |
| Dima пишет цитата: | А так под XP , 7 и 10 работает норм. |
| Переслать клиенту можно файл, для печати автономно, на разных осях ? Как pdf.
|
|
|
|
| |
Пост N: 541
Зарегистрирован: 08.07.06
|
|
Отправлено: 16.05.17 00:40. Заголовок: SergKis пишет: Пере..
SergKis пишет: цитата: | Переслать клиенту можно файл, для печати автономно, на разных осях ? Как pdf. |
| PS32 был действительно хорош, и может сам формировать PDF файлы. Вот тут: https://web.archive.org/web/20150201213531/http://abeelabs.com/downloads/PS32.zip можно взять последний вариант этой библиотеки, там есть готовый EXE - демка и ее сырцы, в т.ч. под [x]Harbour. Но... был. И возможно, еще некоторое время будет... PS: цитата: | Есть одна пичалька. Что первый что последний Pagescript32 виснет на PSINIT под Windows 8. Винда правда 64 бита. Совместимость копали и до лампочки |
| Пока изучаю вопрос, наткнулся на похожую проблему - она возникала у кого-то на гугл-сообществе xHarbour. Вопрос был в том, что среди нескольких установленных принтеров в системе не было дефолтного. Выбрали один из них по умолчанию - все сразу стало ок. Имейте в виду.
|
|
|
|
| |
Пост N: 542
Зарегистрирован: 08.07.06
|
|
Отправлено: 16.05.17 01:06. Заголовок: nick_mi пишет: Если..
nick_mi пишет: цитата: | Если в вызове функции " cFont := HPDF_LoadTTFontFromFile(pdf, getenv("SystemRoot")+"\fonts\arial.ttf",.f.) // простой текст " поставить последний параметр поставить .t. , шрифт будет встроен в PDF, на любой другой машине будет просматриваться корректно. Встроенные шрифты (все, или может быть какой-то один или несколько) вероятно глючат при работе с UTF-8. Закоментируйте ваш цикл по фонтам ("FOR EACH cFont IN font_list "), и PDF с кодировкой UTF-8 нормально построится по крайней мере у меня по вашему примеру PDF сформировался |
| Да, попробовал. 1) Закомментировал кусок для проверки встроенных шрифтов 2) поставил cEncoder := "UTF-8" 3) поставил TRUE для загрузки шрифта в HPDF_LoadTTFontFromFile() русские буквы видны. Спасибо за наводку.
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|