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

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

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

 

 

  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 не будет опубликован. Обязательные поля помечены *