Быстрое создание печатных форм на основании отсканированного документа.

Быстрое создание печатных форм на основании сканов

     Бывают ситуации когда пользователям требуется новая печатная форма (отчета или документа) и в качастве образца они предоставляют бланк или распечатанную форму. В статье предлагаю несколько нехитрых приемов для создания новых печатных форм на основании отсканированного документа для впечатывания данных в бланк или создания ее макета.

 

 

  1. Создаем макет для впечатывания данных в типографские бланки на основании отсканированной печатной формы.

1)      Создаем ячейку требуемого размера или группу ячеек. Размер ячейки должен совпадать с размерами печатной форы. В моем случае печатная форма имеет размер 203х143 мм, соответственно ширина ячейки — 109, а высота 409. Для формата А4 размер 297х210 мм будет преобразован соответственно в 600х159 п.

2)      Задаем имя для Строки макета

3)      Вставляем Объект «Картинка». 

4)      Картинку выбираем из файла (выбираем отсканированную форму отчета).

        

5)      В свойствах картинки снимаем флаг «Выводить на печать».

         

6)      Далее картинку необходимо сжать так, чтобы она влезла в размеры ячейки. Для более точного подгона картинки под размеры ячейки можно использовать кнопки U92;,U94;,U93;,U95; вместе с нажатой кнопкой SHIFT.

          

7)      Отредактировать границу макета т.к. после вставки рисунка она может увеличиться. См. на пунктирные линии в макете.  Необходимо удалить лишние строки (колонки) так чтобы границы ячейки и макета совпадали.

8)      Для заполнения макета данными добавляем объект Текст 

9)      В свойствах объекта:

  1. Указываем тип заполнения ячейки «Параметр» и указываем имя параметра для вывода содержимого ячейки «НомерПутевого».

      

  1. Ставим флаг «Содержит значение»

     

  1. Убираем линии

     

  1. Цвет фона ставим Авто. Для этого нажимаем кнопку .

      

  1. Настраиваем шрифт, цвет, размер и осуществляем др. форматирование.

10)    Выводим макет на печать:

          ТабДокумент = Новый ТабличныйДокумент;

          ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

          ТабДокумент.ПолеСверху         = 0;

          ТабДокумент.ПолеСнизу           = 0;

          ТабДокумент.ПолеСлева          = 0;

           ТабДокумент.ПолеСправа        = 0;

          Макет = ПолучитьМакет(«ПутевойЛистТрактора»);

          ОбластьШапка = Макет.ПолучитьОбласть(«Путевой»);

          ОбластьШапка.Параметры.НомерПутевого    = «00000001«;

          ТабДокумент.Вывести(ОбластьШапка);

          ТабДокумент.Показать();

11)   Распечатываем макет и проверяем значения каких полей попали в макете на свое место, а какие съехали. В конфигураторе  с помощью кнопок U92;,U94;,U93;,U95; вместе с нажатой кнопкой SHIFT двигаем поля в нужных направлениях.

  1. Создаем печатную форму на основании ее отсканированной версии.

1)       Создаем ячейку требуемого размера или группу ячеек. Размер ячейки должен совпадать с размерами печатной форыВ моем случае печатная форма имеет размер 203х143 мм, соответственно ширина ячейки — 109, а высота 409. Для формата А4 размер 297х210 мм будет преобразован соответственно в 600х159 п.

2)      Вставляем Объект «Картинка» .

3)      Картинку выбираем из файла (выбираем отсканированную форму отчета).

4)      После выбора картинки нажимаем кнопку  и с помощью указателя делаем прозрачным белый фон (в идеальном варианте должны остаться только только таблица, подчеркивания полей и надписи).

5)      Далее картинку необходимо сжать так, чтобы она влезла в размеры ячейки. Для более точного подгона картинки под размеры ячейки можно использовать кнопки U92;,U94;,U93;,U95; вместе с нажатой кнопкой SHIFT.

6)      Теперь использую созданную подложку в виде макета нужной печатной формы можно легко создать скелет  — просто изменяя размеры строк и колонок под нужную нам структуру.

 

 Для расчет размера ячейки Высота и Ширина в (мм) в редакторе шаблонов можно воспользоваться обработкой автора sphomin.

31 Comments

  1. Dimasik2007

    Приложите файлы к статье, а не внешним файлохранилищам.

    Reply ↓
  2. TMV

    Интересный ход.

    Reply ↓
  3. ranger

    Привет.Распечатал приложенный путевой лист.При печати на принтере вышел только номер…

    Reply ↓
  4. ranger

    Поставил галочку у рисунка «ВыводитьНаПечать» и нормуль.

    А так за идею +1

    Reply ↓
  5. maverick76

    За идею +

    Reply ↓
  6. LexSeIch

    Мир этому дому!

    Идея интересная. Взял на заметку. Спасибо.

    Reply ↓
  7. markgenuine

    Очень познавательно и просто, в случае с сложной печатной форме нужно использовать данный метод, чтобы не тратить много времени.

    Reply ↓
  8. SeiOkami

    интересненько…

    Reply ↓
  9. mary61

    Интересный подход. Спасибо за идею

    Reply ↓
  10. DanilaDru

    Спасибо. Попробуем.

    Reply ↓
  11. 1985Alex1985

    Спасибо за идею 🙂 жаль что только сейчас прочитал эту статью. У нас как раз недавно шла массовая штамповка форм для новой конфигурации. Пригодилось бы. Добавлю в избранное, воспользуюсь при случае 🙂

    Reply ↓
  12. Kondrat

    Спасибо, буду использовать.

    to ranger: Первая часть статьи для печати на уже готовых, типографских БЛАНКАХ. Все правильно

    Reply ↓
  13. mikhailovaew

    Жаль, не подойдет для форм, где выводится табличная часть.

    Reply ↓
  14. headMade

    (13) mikhailovaew,

    табличная часть динамически рисуется или в чем именно проблема?

    Reply ↓
  15. mikhailovaew

    (14) headMade, я имею в виду, что у документов есть табличные части, количество строк в них заранее не известно. Возьмем ту же ТОРГ-12 — строк там столько, сколько товаров продается. Я поняла так, что Ваш способ описывает формы, где вывод динамической табличной части не предусмотрен.

    Reply ↓
  16. mikhailovaew

    можно правда «разрезать» pdf на области и выводить их…

    Reply ↓
  17. headMade

    (15) mikhailovaew, да, в описанном способе вывод динамической табличной части не предусмотрен.

    (16) mikhailovaew, можно попробовать разрезать на части, но у меня такого опыта не было

    Reply ↓
  18. Artemuch2

    Да раньше помню так и делали впечатывали в формы нужные данные на готовых бланках. особенно если бланки строгой отчетности

    Reply ↓
  19. KliMich

    Интересный подход! Спасибо

    Reply ↓
  20. Skotarev

    Жаль, что не наткнулся на статью ранее, избежал бы пары часов нудной работы. Автору спасибо.

    Reply ↓
  21. webester

    Можно использовать, если не осталось других вариантов и не хочется полжизни, вымерять отступы, шрифты и размеры. Во всех остальных случаях, «грязь» отсканирования, мелкие артефакты(царапины и тд) будут на печатной форме, про случаи когда строка должна раздвигаться или про «раздвинь колонку немного, а то две цифры не влазят» можно забыть разумеется. А в остальном очень даже ничего.

    Reply ↓
  22. alex_4x

    Несомненно это полезный материал, но такие печатные формы годятся «залатать дыры», а вообще их лучше так не оставлять. Края у табличек будут грязненькие, не презентабельные. Конечно можно это поправить в фотошопе, но всё равно выглядеть будет не идеально. Так что только как временное решение.

    Второй повод для применения такого финта с подложкой из картинки — это формы, где как таковой таблички то и нет, всякие пригласительные билеты, анкеты, тесты и так далее.

    Еще кстати можно векторную картинку в формате WMF вставить, принцип тот же, но вместо растра будет вектор, соответственно нет артефактов. Сложные бланки так и делали (полис ОСАГО,ДАГО, Заявления с кучей полей под буквы, цифры и когда всё это вразнобой — несколько колонок и не пойми какой ширины).

    Reply ↓
  23. karakozov

    интересное решение для сложных печатных форм, там где для разметки макета нужно потратить больше времени чем на код.Жаль что не применимо к выводу табличных частей, но простые документы со сложной разметкой макета вполне можно сделать.Автору плюс.

    Reply ↓
  24. ejik2012

    Сорри за тупой вопрос! Собственно что за кнопки «U92;,U94;,U93;,U95;» и каких использовать???

    Reply ↓
  25. Amory

    интересная идея

    Reply ↓
  26. Gendalf_beliy

    Здорово. Я даже и не знал. что так можно делать. Особенно актуально при печати на бланках.

    Reply ↓
  27. headMade

    (26) ejik2012,

    Имелось ввиду кнопки ↑(вверх)↓(вниз) →(вправо) ←(влево). Просто в тексте статьи некорректно отобразило

    Reply ↓
  28. JusteRU

    Полезный способ, спасибо!

    Reply ↓
  29. noven

    Спасибо. Интересная идея.

    Reply ↓
  30. DrAku1a

    1. Сканируем в FineReader, конвертируем в Excel

    2. Настраиваем в Excel, печатаем и подстраиваем — дотачивая мелочи

    3. Находим на ИС обработку, конвертирующую Excel в MXL (их тут штук 5-10 есть)

    4. Конвертируем

    5. Копируем результат в отчёт

    6. Настраиваем вывод (поля, шаблоны, вывод значений)

    profit

    Reply ↓
  31. nipil

    Полезно. Но нужно учитывать и модель принтера. Если подогнать для одной модели, при печати на другой модели возможно незначительные отклонения.

    Использовал похожее решение как для печати на готовых бланках так и используя от сканированное изображение.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *