Render.ru

Печать из Acrobat

#1
Суть проблемы:
Существует файл PDF с формами для заполнения. Он предназначен для рассылки по почте клиентам. Клиенты после заполнения спечатывают его и отсылают обратно традиционной почтой. Он передается в инстанцию, где некая специальная машина считывает все поля и заносит в базу данных. Машина чувствительна к размеру полей форм.
По умолчанию, в Acrobat Reader стоит опция Fit To Paper либо Shrink Oversized Pages to Paper Size. В ней и вся проблема. При печати на разные принтеры получится разный масштаб форм.
Есть ли возможность при создании PDF сохранить в нем информацию о запрете изменять размеры листа при последующей печати на разных принтерах?

P.S. Прошу прощения за офф-топик, но форума по Акробату пока еще нет.
 
#2
Не проще ли сделать обычную Form в самом Acrobat'е? Безо всякой распечатки, сканирования и распознавания?
 
#3
> По умолчанию, в Acrobat Reader стоит опция

вроде, как юзер последний раз посылал на печать предыдущий документ, так и в следующий раз при вызове диалога печати

> Есть ли возможность при создании PDF сохранить в нем информацию о запрете

о таком запрете врядли, но вызвать окно диалога печати с _явно_ отключенной опцией Fit To Paper -- возможно

копай в направлении использования Java скриптов, привязанных например к интерактивному контролю в твоем пдф (кнопке "Print Form" или что-то в этом духе)

дело в том, что в объектной модели акробата объект Doc имеет метод print, в аргументах которого среди прочих можно указать вызов UI диалога печати, а также вкл/откл Fit To Paper. Например, следующий скрипт вызовет окно печати с _всегда_ отключенной Fit To Paper

this.print({bUI: true, bShrinkToFit: false});

конечно, дурак может поменять эту опцию, но тут уж...
 
#5
Есть и такой вариант. Там будут формы и для ручного и для машинного заполнения.
А теперь вопрос: как заполнить pdf-форму на кириллице?
У меня не получилось :-(
 
#6
Спасибо!
Я нашел эти функции и два дня копал в этом направлении.
Вроде все правильно. Скрипты выполняются (я проверял на всплывающих окнах и всяких биперах), а вот то, что надо не работает :-(
Если добавить this.print(bUI:false, bShrinkToFit:false) в Tools->JavaScript->Set Document Actions...->Document Will Print результат=0 :-(
Появляется обычное окно печати со всеми прежними установками.
Вешал скрипт на кнопку в форме - результат тот-же.

Что делать? Можно просто уменьшать размер страницы перед печатью в Distillere, но это какое-то кривоватое решение...
 
#7
> Вешал скрипт на кнопку в форме - результат тот-же

:( странно. Только что нарисовал кнопку в документе и повесил на нее скрипт

this.print({bUI: true, bShrinkToFit: false});

все работает как и описано в документации

вообще-то bShrinkToFit работает с 5-й версии, у тебя акробат не 4-й ли?
 
#9
:( вот как получается: проверил только что в 5-м, и действительно, не работает! В 6-ке, с которой я последние пол-года и общаюсь, работает прекрасно, потому и ввел тебя в заблуждение, извини. Однако, адоб описывает параметр bShrinkToFit еще в документации на скриптинг к 5-ке. Либо они всех обманули, либо не успели доделать, либо мы их неправильно понимаем... Попробуй поискать на их сайте, возможно есть техноуты, объясняющие сей факт, или на форуме, вплоть до того что спроси прямо, они обычно отвечают на серьезные вопросы

обидно :(

как полумеру могу предложить еще ту же кнопку, которая перед вызовом UI печати покажет что то типа messagebox с предупреждением, что мол не делайте fit to page
 
#10
>> вопрос: как заполнить pdf-форму на кириллице?
по поводу кириллицы в полях форм — в 5-м Acrobat'е достаточно было при создании поля указать T1-шрифт, которым оно будет набираться. При этом шрифт автоматически встраивался в PDF. В 6-м как минимум PFB должен находится в одной из «шрифтовых» папок системы — т.к. по неизвестным причинам стало вдруг запрещено встраивать шрифт в Custom-кодировке (естественной для кириллицы) в PDF.

По слухам, есть каие-то troubles при заполнении в WinXP. По таким же слухам, создание формы в CE-версии проблему решает
 
Сверху