Сохранение окна данных в формате PDF в PB 10.5
У меня есть окно данных сетки с изображением на заднем плане (с размерами страницы А4), и я хотел бы экспортировать как данные, так и изображение в виде файла PDF (на одной странице). Я использовал несколько комбинаций следующих команд, но самое большее, я получил PDF формата 0.
//dw_1.Modify("Datawindow.Export.PDF.Method = Distill! ")
//dw_1.Modify("DataWindow.Export.PDF.Method = XSLFOP! ")
dw_1.Object.DataWindow.Export.PDF.Method = Distill!
//dw_1.Object.DataWindow.Printer = "\\prntsrvr\pr-6"
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript="No"
dw_1.SaveAs("c:\dw_one.pdf", PDF!, false)
Руководство пользователя (на стр. 533) гласит:
… the data is printed to a PostScript file and automatically distilled to PDF using GNU Ghostscript…
Installing Ghostscript
For licensing reasons, Ghostscript is not installed with PowerBuilder. You (and your users) must download and install it before you can use this technique…
У кого-нибудь есть идеи, какова процедура?
РЕДАКТИРОВАТЬ СПАСИБО ВСЕМ. Установки ghostscript оказалось достаточно. Я только не могу понять, почему процедура успешна на некоторых компьютерах (используя Method = XSLFOP!) Без использования ghostscript:-/
6 ответов
Ghostscript и настройка принтера для PowerBuilder
Административные привилегии необходимы для установки принтера. Мы используем эту настройку на XP.
В этих инструкциях используется драйвер принтера HP вместо того, который поставляется Sybase. Если по какой-либо причине у вас нет этого драйвера, вы можете загрузить его с HP. Драйвер HP имеет следующие преимущества:
- Сгенерированные PDF-файлы могут быть прочитаны программой чтения с экрана (YMMV, но выходные данные драйвера Sybase вообще не читаются).
- Драйвер имеет цифровую подпись для установки в системах, требующих подписанных драйверов
Необходимые файлы
- gs860w32.exe с http://pages.cs.wisc.edu/~ghost/ (вы можете попробовать более позднюю версию, если хотите. 8.60 отлично работает для нас.)
- Файлы драйверов в C:\Program Files\Sybase\Shared\PowerBuilder\drivers (путь может отличаться в зависимости от установки)
Ghostscript
Установите gs860w32.exe
- Установить в C:\Program Files\gs
- Проверить всех пользователей
- Проверьте установить шрифты Ghostscript
Sybase DataWindow PS Принтер
Имя принтера чувствительно к регистру и должно совпадать с тем, что находится внутри кавычек. В "DataWindow" нет места. Самый простой способ сделать это правильно - скопировать этот документ и вставить его.
- Открытая панель управления, принтеры и факсы
- Выберите Добавить принтер (следующий)
- Выберите "Локальный принтер", снимите флажок "Автоматически определять и устанавливать мой принтер Plug and Play" (далее)
- Выберите Использовать следующий порт, выберите ФАЙЛ: (следующий)
- В левом списке выберите "HP" для производителя
- В правом списке прокрутите вниз и выберите "HP 8150 Series PS" (далее)
- Имя принтера "Sybase DataWindow PS"
- Использовать в качестве принтера по умолчанию выберите Нет (следующий)
- Оставить Не поделиться выбранным (следующий)
- Распечатайте тестовую страницу, выберите Нет (далее)
- (Конец)
Ваш код выглядит хорошо и соответствует моему коду, который я только что проверил, что-то похожее. Убедитесь, что ghostscript установлен правильно.
В целях отладки я бы попытался использовать намного более простое окно данных без растрового фона.
У нас это работает здесь. Из нашей внутренней вики:
- Установите ghostscript на свою рабочую станцию (рекомендуется 8.50 или 8.15)
- Убедитесь, что файлы ghostscript в каталоге DLL Powerbuilder
- Убедитесь, что в том же месте находится каталог, содержащий драйверы postscript по умолчанию, поставляемые Sybase.
- Powerbuilder использует драйвер Adobe Postscript (который можно бесплатно загрузить с Adobe.com). Это должно называться "Adobe DataWindow PS"
Мы используем версию 1.06 драйвера postscript, который вы можете скачать здесь:
Как незначительное дополнение к другим, мне никогда не приходилось изменять () ни один из атрибутов экспорта; Я просто SaveAs(). Насколько я понимаю, эти атрибуты предназначены для попыток идти по не-Ghostscript маршрутам, но я не припоминаю, чтобы кто-нибудь успешно делал это.
Чтобы упростить ваш тест, вы можете посмотреть, можете ли вы щелкнуть правой кнопкой мыши на панели предварительного просмотра в художнике DataWindow, чтобы увидеть, есть ли опция "Сохранить строки как...". (У меня не установлено 10.5 на данный момент, поэтому я не могу увидеть, доступно ли оно в этой версии.) Это спасет вас от запуска приложения и, по крайней мере, протестирует базовую функциональность, прежде чем запускать его в PowerScript.
Удачи,
Терри.
Проблема с ghostscript заключается в том, что драйверы не подписаны. Это большая проблема в Windows 8, так как она просто остановит установку драйверов. Windows 7 вам сообщили, что происходит, и разрешили установить драйверы. Windows 8 просто останавливает установку драйверов, вы можете доказать это, пытаясь создать принтер с файлами ghostscript.
В настоящее время работает через драйверы HP PS, чтобы попытаться найти обходной путь для операционной системы Windows 8.
Windows 8 допускает неподписанные драйверы принтера, но вам нужно перезагрузить компьютер в "расширенном режиме", см. Процедуру по следующей ссылке и выбрать параметр "Отключить принудительное использование подписи драйверов". http://windows.microsoft.com/en-gb/windows-8/windows-startup-settings-including-safe-mode
Windows по-прежнему будет предупреждать и советовать против установки неподписанного драйвера.