RU2198430C2 - Совмещение машиночитаемых кодов с пикселями печатающего устройства - Google Patents

Совмещение машиночитаемых кодов с пикселями печатающего устройства Download PDF

Info

Publication number
RU2198430C2
RU2198430C2 RU98111761/09A RU98111761A RU2198430C2 RU 2198430 C2 RU2198430 C2 RU 2198430C2 RU 98111761/09 A RU98111761/09 A RU 98111761/09A RU 98111761 A RU98111761 A RU 98111761A RU 2198430 C2 RU2198430 C2 RU 2198430C2
Authority
RU
Russia
Prior art keywords
printer
specified
machine
readable code
image
Prior art date
Application number
RU98111761/09A
Other languages
English (en)
Other versions
RU98111761A (ru
Inventor
Юджин П. ДЖЕРЕТИ (US)
Юджин П. Джерети
Original Assignee
Дэйтастрип Продактс Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Дэйтастрип Продактс Инк. filed Critical Дэйтастрип Продактс Инк.
Publication of RU98111761A publication Critical patent/RU98111761A/ru
Application granted granted Critical
Publication of RU2198430C2 publication Critical patent/RU2198430C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-treatment of the composed image, e.g. compression, rotation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

Изобретение относится к печатающим устройствам. Техническим результатом является повышение точности печати машиночитаемого кода за счет коррекции и компенсации искажений, вводимых различными печатными устройствами. Для этого вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения, анализируют физические характеристики массива пикселей принтера на основе полученных характеристик воспроизведения, трансформируют битовое отображение кода машинно-считываемого кодового изображения путем изменения размеров и осуществления поворота до точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения и осуществляют печать. 4 с. и 5 з.п.ф-лы, 7 ил.

Description

Изобретение относится к точной печати одномерных и двумерных кодов, используемых для идентификации, а более конкретно к способу компенсации и коррекции геометрических искажений, вводимых печатающими устройствами, чтобы гарантировать то, что напечатанные коды являются точными и машиночитаемыми.
Идентификационные коды, например одномерные коды (штриховые коды) и двумерные коды (Datastrip-коды), нашли широкое применение для идентификации элементов данных, изделий и/или физических лиц, когда эти коды считываются машинами, обладающими искусственным интеллектом. Однако такие машиночитаемые коды должны быть напечатаны очень точно для того, чтобы гарантировать то, что код (коды) равномерно и точно считываются машиной (машинами), обладающей искусственным интеллектом. Даже небольшие искажения в процессе печати могут привести к тому, что в результате будет напечатан код, который не поддается считыванию (не читается) конкретной машиной, делая таким образом кодирование непригодным для той цели, для которой оно предназначено.
Например, двумерные коды, такие как коды, используемые Datastrip Products Inc., при печати кода должны быть, как правило, точно совмещены с массивом пикселей конкретного печатающего устройства для предотвращения геометрического искажения битового отображения кода. Геометрические искажения получаются в результате небольшого масштабирования горизонтальных и вертикальных размеров некоторыми драйверами печатающих устройств и прикладными программными средствами печати (например, драйверами печатающих устройств Windows и графическими прикладными программными средствами Windows).
Небольшое масштабирование (например, 99,5%-100,5%) не является необычным в битовом отображении, распечатываемом из Windows. Факторы масштабирования заставляют битовое отображение кода расширяться или сужаться благодаря репликации или удалению строк и/или столбцов точек в битовом отображении. Это разрушает низкоуровневые, локализованные, геометрические характеристики таких кодов, делая их более трудными для считывания, менее поддающимися считыванию и, возможно, делая коды нечитаемыми.
Большой проблемой, связанной с печатью изображений битового отображения при использовании покупных программных средств в независимых от устройства рабочих конфигурациях, например Microsoft Windows (TM), является то, что применение этих программных средств приводит к небольшому масштабированию и/или повороту получаемого выхода печати. Для большинства целей текстообработки и иллюстраций эти факторы масштабирования и поворота остаются незаметными. Однако при попытке печати изображений битового отображения кодированных данных, которые требуют обеспечения точных геометрических характеристик, сдвиги пикселей и добавленные или утраченные строки пикселей, распределенных по печатному изображению, в результате небольшого масштабирования или поворота могут привести к значительным геометрическим искажениям.
Пример попыток скорректировать фактор масштабирования или поворота, характерный для печатающего устройства, в прикладных задачах текстообработки описан в патенте США, выданном 17 октября 1995 года Заку и др. В этом патенте описан способ получения растрового шрифта из контурного шрифта, предусматривающий операции получения растровой метрики и метрики знаков шрифтовых знаков в зависимости от случайных шрифтовых элементов, масштабирования шрифтовых знаков до выбранного размера и выходного разрешения и изменения толщины вертикального и горизонтального штрихов каждого знака до требуемой толщины. По существу сущность изобретения Зака и др. заключается в модификации внешнего вида конкретного знака для того, чтобы сделать внешний вид знака единообразным для считывающего устройства.
В противоположность этому задачей настоящего изобретения является очень точная печать конкретного машиночитаемого кода благодаря коррекции и компенсации искажений, вводимых различными печатными устройствами.
Применяемый ниже термин "интерпретивное печатающее устройство" будет использовано для ссылки на печатающее устройство, которое осуществляет язык описания страницы в самом печатающем устройстве, а термин "неинтерпретивное печатающее устройство" будет использован для описания печатающего устройства, которое только печатает изображение, создаваемое вне его. Примером интерпретивного печатающего устройства является печатающее устройство Postscript (ТМ) (Postscript - торговая марка компании Adobe Systems, Inc.), так же как печатающее устройство Apple Laserwriter, выпускаемое на промышленной основе компанией Apple Computer, Inc., которая использует интерпретатор языка Postscript в печатающем устройстве. Описания страницы, передаваемые печатающему устройству, фактически являются языковыми программами Postscript, которые при интерпретации посредством языкового интерпретатора в печатающем устройстве заставляют печатающее устройство печатать изображение. Примером неинтерпретивного печатающего устройства является печатающее устройство Hewlett Packard Laserjet Series IV, выпускаемое компанией Hewlet Packard, Inc.
Указанная задача достигается использованием способа, осуществленного на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики,
заключающегося в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, трансформируют битовое отображение кода машинно-считываемого кодового изображения путем изменения размеров и осуществления поворота в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения.
Дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем коррекции по сдвигу в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера.
Указанная задача решается также использованием способа, осуществленного на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики,
заключающегося в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, трансформируют битовое отображение кода машинно-считываемого кодового изображения путем изменения размеров и перемещения в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения.
Дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем осуществления поворота в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера. Также дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем коррекции по сдвигу в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера.
Указанная задача решается и применением способа, осуществленного на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики,
заключающегося в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, измеряют разницу ориентации между массивом пикселей, определенным машинно-считываемым кодовым изображением, и указанными физическими характеристиками массива пикселей указанного принтера, сравнивают величину указанной разницы с нулем и с заданным максимально допустимым значением разницы ориентации и, если величина разницы ориентации больше нуля и меньше максимально допустимого значения разницы ориентации, то трансформируют машинно-считываемое кодовое изображение путем устранения разницы ориентации для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения, а если величина разница ориентации больше максимально допустимого значения разницы ориентации, то осуществляют вывод на печать сообщение об искажении. Причем сообщение об искажении является графическим изображением искажения.
Указанная цель достигается и использованием способа, осуществляемого на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики,
заключающегося в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, измеряют величины сдвигового искажения между массивом пикселей, определенным машинно-считываемым кодовым изображением, и указанными физическими характеристиками массива пикселей указанного принтера, сравнивают величину указанного сдвигового искажения с нулем и с заданным максимально допустимым значением сдвигового искажения и, если величина указанного сдвигового искажения больше нуля и меньше максимально допустимого значения сдвигового искажения, то трансформируют машинно-считываемое кодовое изображение путем устранения разницы ориентации для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения, а если величина указанного сдвигового искажения больше максимально допустимого значения разницы ориентации, то осуществляют вывод на печать сообщение об ошибке. Причем сообщение об ошибке представляет собой графическое сообщение об ошибке.
Настоящее изобретение обеспечивает технологии печати изображений битового отображения кодированных данных при использовании стандартного покупного прикладного программного обеспечения, например, графических программ и программ текстообработки, так что изображения битового отображения точно совмещены с сеткой пикселей целевого печатающего устройства независимо от любого поворота или масштабирования, которое может быть использовано прикладным программным обеспечением. Ниже, на такие изображения битового отображения будут ссылаться как на "пиксель-совмещенные" относительно конкретного печатающего устройства.
Эти и другие аспекты настоящего изобретения станут очевидными из следующего описания, сделанного для иллюстрации предпочтительного варианта осуществления настоящего изобретения со ссылкой на чертежи.
Краткое описание чертежей.
Фиг. 1А-1D - иллюстрация воздействия масштабирования на битовое отображение в соответствии с настоящим изобретением.
Фиг. 2 - блок-схема автоматизированной системы (системы с управлением от ЭВМ) для печати изображений пиксель-совмещенного битового отображения кодированных данных на печатающем устройстве, соответствующем настоящему изобретению.
Фиг. 3 - блок-схема, на которой показаны процессы и информационный поток для способа печати пиксель-совмещенного битового отображения кодированных данных на интерпретивном печатающем устройстве, соответствующем настоящему изобретению.
Фиг. 4 - блок-схема, на которой показаны процессы и информационный поток для способа печати пиксель-совмещенного битового отображения кодированных данных на неинтерпретивном печатающем устройстве, соответствующем настоящему изобретению.
Ниже приведено подробное описание настоящего изобретения.
Как показано на фиг.1А-1D, на фиг.1А иллюстрируется битовое отображение конкретного двумерного кода, а на фиг.1В - как этот код должен выглядеть, будучи напечатанным. Как показано, битовое отображение, приведенное на фиг. 1А, состоит из множества массивов 3х3, где массив всех битов "1" приводит к получению в процессе печати черного квадрата, тогда как массив всех битов "0" приводит к получению в процессе печати белого квадрата, то есть в этой области нет печати.
В противоположность этому, на фиг.1С иллюстрируется битовое отображение после масштабирования посредством прикладного программного обеспечения в центральном процессоре или в печатающем устройстве. Следует отметить, как исказилось битовое отображение, которое приводит к получению печатного изображения, показанного на фиг.1D. Такие искажения могут привести к тому, что изображения печати становятся немашиночитаемыми, то есть к проблеме, решаемой посредством настоящего изобретения.
На фиг.2 приведена блок-схема автоматизированной системы 100 для печати машинно-считываемых изображений, которая содержит компьютер 140, прикладное программное обеспечение 150 на компьютере 140, программное обеспечение 160 формирования изображения на компьютере 140, программное обеспечение 170 драйвера печати на компьютере 140 и печатающее устройство 180. Пользователь обеспечивает данные для кодирования 110, кодируемые в битовое отображение кода посредством программного обеспечения 160 формирования изображения. Другие пользовательские данные 120 могут быть обеспечены (в сочетании с данными для кодирования 110) для обработки посредством прикладного программного обеспечения 150. Программное обеспечение 170 драйвера печати управляет потоком и форматированием данных, формируемых программным обеспечением 160 формирования изображения и прикладным программным обеспечением 150 к печатающему устройству 180. Пользовательские данные 110 и другие пользовательские данные, как правило, будут находиться в запоминающем устройстве 130, соединенном с компьютером 140.
Как правило, пользователь будет использовать прикладное программное обеспечение 150 (например, систему подготовки текстов или задающую программу) для обработки других пользовательских данных. Результатом такой обработки является печатная страница. После обработки данных для кодирования 110 посредством программного обеспечения формирования изображения пользователь может комбинировать изображение, полученное в результате, с другими пользовательскими данными 120, используя возможности внесения прикладного программного обеспечения. (Такие возможности внесения хорошо известны и очевидны для обычных квалифицированных специалистов в этой области техники и поэтому не будут дополнительно описываться в этой заявке.) После этого комбинированные выходные данные передают посредством прикладного программного обеспечения 150 через посредство программного обеспечения 170 драйвера печати к печатающему устройству 180.
На фиг.3 приведена блок-схема 200, на которой показаны обработка и поток данных для способа печати пиксель-совмещенных изображений битового отображения на интерпретивном печатающем устройстве. Пользовательские данные 210, обеспечиваемые пользователем для кодирования в битовое отображение кода, кодируются посредством программного обеспечения 230 формирования изображения в соответствии с набором параметров (например, предполагаемые номинальное значение числа точек на дюйм для конкретного печатающего устройства, размер и форма элементов изображения и так далее). Программное обеспечение 230 формирования изображения создает описание 240 изображения, содержащее защитную оболочку 242 изображения и участок 244 изображения. Защитная оболочка 242 изображения, по существу, является программой в языке описания страницы, поддающейся интерпретации посредством интерпретивного печатающего устройства 280 для анализа физических характеристик массива пикселей печатающего устройства и для изменения размеров и ориентации участка 244 изображения, что необходимо для точного совмещения с целым кратным числом пиксельного разрешения печатающего устройства. То есть, если печатное устройство имеет разрешение 300 точек на дюйм, но имеет нецелочисленный фактор масштабирования, используемый прикладной программой (например, 205%), то защитная оболочка изображения будет обнаруживать масштабирование и заставлять изображение печататься при ближайшем целочисленном факторе масштабирования (например, 200%), который не приводит к сжатию изображения 244.
Защитная оболочка 242 изображения работает также аналогичным образом с факторами поворота, заставляя изображение 244 печататься только при целых числах, кратных 90o. Прикладное программное обеспечение 260 обрабатывает дополнительные пользовательские данные 250 и вносит описание 240 изображения для включения в печатный выход. Выходные данные из выхода прикладного программного обеспечения 260 поступают к драйверу 262 печати, который форматирует их в описание 270 страницы для печатающего устройства. Скопированное описание 272 изображения, по существу идентичное описанию 240 изображения, включают в описание 270 страницы. Описание 270 страницы, по существу, является программой для выполнения интерпретатором языка описания страницы резидентным в интерпретивном печатающем устройстве 280 для получения печатного выхода.
На фиг.4 приведена блок-схема 300, на которой показаны обработка и поток данных для способа печати пиксель-совмещенных изображений битового отображения на неинтерпретивном печатающем устройстве 390. Пользовательские данные 310 обеспечиваются пользователем для кодирования в изображение битового отображения посредством программного обеспечения 320 формирования изображения. Дополнительные пользовательские данные 330 обеспечиваются пользователем для обработки посредством прикладного программного обеспечения 340, например, программой текстообработки или графической программой для получения печатного выхода на неинтерпретивном печатающем устройстве 390. Программа 320 формирования изображения создает описание 350 изображения, содержащее набор параметров 350А изображения (например, предполагаемые размер элементов изображения, ориентация и так далее), битовое отображение 350В изображения, представляющее кодирование пользовательских данных 310. Прикладное программное обеспечение 340 обрабатывает программу 320 формирования изображения в качестве программы фильтрации ввода для введения пользовательских данных 310 в кодированное битовое отображение его печатного выхода. Однако в этом случае описание 350 изображения, получаемое посредством программы 320 формирования изображения (действующей в качестве программы фильтрации для прикладного программного обеспечения 340), передают к драйверу 370 печати посредством процесса 360 масштабирования и поворота, который во многом выполняет ту же функцию, которая описана в этой заявке выше для защитной оболочки 242 изображения со ссылкой на фиг.2.
В процессе 360 масштабирования и поворота делается запрос драйвера 370 печати в отношении физических характеристик печатающего устройства и параметров настройки масштабирования и поворота, сделанной прикладным программным обеспечением 340. В процессе масштабирования и поворота осуществляют выбор ближайшего целого кратного числа масштабирования для параметра масштаба, установленного прикладным программным обеспечением 360, при котором битовое отображение кода 350В точно совмещается с пиксельным разрешением печатающего устройства 390, и выбор ближайшего числа, кратного повороту на 90o, для параметра поворота, установленного прикладным программным обеспечением, и передача битового отображения изображения драйверу 370 печати при этих установочных параметрах. После передачи битового отображения 350В изображения драйверу 370 печати параметры настройки масштабирования и поворота, выполненного прикладным программным обеспечением, восстанавливаются. Драйвер 370 печати формирует изображение 380 печати, форматированное для печати посредством неинтерпретивного печатающего устройства 390.
Способы, показанные и описанные выше со ссылкой на фиг.3 и 4, дают по существу идентичные конечные результаты. Основное различие между этими способами заключается в том, что способ, иллюстрируемый на фиг.3, обеспечивает осуществление совмещения изображения посредством использования программы совмещения с описанием изображения для выполнения в интерпретивном печатающем устройстве, посредством интерпретатора языка описания страницы, тогда как в способе, иллюстрируемом на фиг.4, процесс совмещения осуществляется внутри компьютера (например, указанного на фиг.2 ссылочным номером 140) перед передачей печатающему устройству.
Ниже описан характерный пример Postscript-кода для защитной оболочки изображения. Более конкретно, основная схема следующего кода разбита на две части. Первая часть контролирует разрешение печатающего устройства и определяет некоторые основные параметры выбранной в настоящее время системы координат печати, определяет, имеется или отсутствует недопустимый поворот или сдвиг координатной системы. Если это имеет место, то первая часть формирует сигнал останова, заставляет выполняться вторую ошибочную часть вывода на печатающее устройства кода (через посредство управляющего сигнала останова между этими двумя частями). Ошибочная часть вывода на печатающее устройство печатает изображение, имеющее форму и ориентацию, которое имело бы изображение, если бы оно было напечатано в текущей координатной системе (но не печатает действительной полосы), и выводит на печать перечень соответствующих величин, определенных первой частью.
Первая часть кода использует параметр состояния (Progress), показывающий, где имеет место повреждение. Если этот параметр состояния равен шести, то это указывает на то, что повреждение отсутствует. Если его величина меньше шести, то его значение указывает на то, сколь велика первая часть кода прежде, чем была обнаружена проблема.
Объяснительные замечания вставлены в код в форме Postscript-комментариев, которые начинаются с символа %.
% Начало первой части защитной оболочки
% изображения. Обеспечение останова при
% обнаружении проблемы. При этом параметр
% состояния (Progress) указывает, как далеко прошел
% первый процесс до тех пор, пока не появилась
% проблема.
% Установка индикатора состояния на нуль.
/Progress О def
% Определение newline-функции для использования
% при печати изображения чередования данных, так
% что, если значение параметра состояния равно шести,
% то изображение полосы есть данные в стеке (то есть
% данные изображения полосы), нормально печатается
% при использовании newline-процедуры (nl). Если
% нет, то данные в стеке удаляются из стека и
% игнорируются.
/NL {Progress 6 eq {nl} {pop} ifelse} def
% Установка числа точек на дюйм (DPI) равное
% ожидаемому числу точек на дюйм печатающего
% устройства. Это значение вводят посредством
% программы, которая добавляет этот код к данным
% изображения.
/DPI 300 def
% Преобразование точки (1 дюйм, 0 дюймов) через
% посредство матрицы печатающего устройства,
% устанавливаемой по умолчанию, для определения
% фактического разрешения печатающего устройства в
% DPI. (Примечание: Координатная система,
% устанавливаемая по умолчанию, выражена в точках,
% причем 72 точки составляют 1 дюйм (25,4 мм)).
72.0. matrix defaultmatrix dtransform dup
% Определение фактического разрешения (DPI)
% печатающего устройства посредством анализа
% результата предшествующего преобразования.
% Поскольку печатающее устройство может быть
% установлено в режим вертикальной или
% горизонтальной ориентации бумаги, требуется две
% проверки. Любая проверка обеспечивает в результате
% получение значения, не равного нулю.
/Actual DPI exch abs def
0. Eq {/ActualDPI exch abs def} {pop} ifelse
% Определение пригодного значения, эквивалентного
% восьми точкам в собственном разрешении
% печатающего устройства.
/EightPoint 8.72. div ActualDPI mul def
% Инициализация сообщения об искажении: "*нет
% искажения*" ("*Nо Errow*").
/StrippErrMsg (*No Errow*) def
% Определение функций для выбора максимума или
% минимума из двух величин Postscript-стека.
/Мах {/mxop2 exch def dup
/mxop1 exch def
myop2 1t myop2 exch {pop mxop1} if }def
/Min {/mnop2 exch def dup
/mnop1 exch def
mnop2 1t mnop2 exch {pop mnop1} if }def
% Определение функции для экстрагирования знака
% численного значения Postscript-стека.
/Sign {dup О. ne {dup abs div} if cvi} def
% Определение функции для экстрагирования фактора
% масштабирования путем сравнения численного
% значения Postscript-стека с требуемыми
% (ожидаемыми) паспортными данными DFI.
/ScaleFactor
{dup O.Ne
(dup Sign exch DPI div 0.98 abs cvi 1 Max mul} {cvi}
ifelse} def
% Определение функции обработки искажения, которая
% копирует сообщение об искажении в Postscript-стек
% в "StripErrMsg" и осуществляет директивный останов,
% запрещающий выполнение первой части кода.
/StripError {/StripErrMsg exch def stop} def
% Проверка величины (0,0) в Postscript-стеке.
/ZeroCheck {О. eq and} def
% Замена величины нулем, если она меньше 1/50
% другой величины.
/Thresh {
/Thop2 exch def dup Thop2 exch div abs 0.02 1t
{0.} {Thop2} ifelse} def
% Функция, которая охватывает точки (х, у) и приводит
% Thresh- функцию к нулю, если х- или у-часть
% отличаются менее чем на 1/50 друг от друга.
/Squelch { /Sqop2 exch def dup
/Sqop1 exch def abs
Sqop2 abs gt
{Sqop1 Sqop2 Thresh} {Sqop2 Sqop1 Thresh exch} ifelse} def
% Функция, которая возвращает "истинное состояние",
% если имеет место ось сдвига.
/ShearEnCheck {O.eq {).eq}.eq} {О.ne} ifelse}def
% Преобразование точки (0,0) для определения начала
% отсчета исходной координатной системы.
О О transform
/udyO exch cvi def
/udxO exc cvi def
% Определение реакции текущей координатной
% системы на смещения только по оси х и смещения
% только по оси у, используя 1 дюйм (72 точки) в
% качестве тестовой величины.
72.0.dtransform
/xyDPI exch def
/xxDPI exch def
0.72 dtransform
/yyDPI exch def
/yxDPI exch def
% Нет проблем при начальной установке. Увеличение
% индикатора состояния.
/Progress Idef
% Проверка координатной системы на нулевую ширину,
% нулевую длину и поворот осей. Если обнаружена
% проблема, то выполнить процедуру "StripErrow"
% исправления искажения.
xxDPI xyDPI ZeroCheck {(Zero With) StripError} if
xyDPI yyDPI ZeroCheck {(Zero Length) StripError} if
xxDPI yyDPI ZeroCheck {(XAxis Collapse) StripError} if
xyDPI yyDPI ZeroCheck {(YAxis Collapse) StripError} if
% Проверка основной координатной системы.
% Увеличение индикатора состояния.
/Progress 2 def
% Регулировка ("squelch") координатной системы для
% удаления какого-либо незначительного (то есть
% менее чем 2%) поворота или сдвига.
xxDPI xyDPI Squelch
/xySq1 exch def
/xxSq1 exch def
yxDPI yyDPI Squelch
/yySq1 exch def
/yxSq1 exch def
xxSq1 yxSql Squelch
/yxSq1 exch def
/xxSq1 exch def
xxSq1 yySql Squelch
/yySq1 exch def
/xySq1 exch def
% Выполнение регулировок. Увеличение индикатора
% состояния.
/Progress 3 def
% Проверка координатной системы на наличие
% недопустимой величины сдвига или поворота. При
% наличии проблемы выполнения процедуры StripError.
xxSq1 xySq1 ShearErrCheck
{(Shear/Rotxx-xy) StripError} if
yxSq1 yySq1 ShearErrCheck
{(Shear/Rot.yx-yy) StripError} if
xxSq1 yxSq1 ShearErrCheck
{(Shear/Rot.xx-yx) StripError} if
xySq1 yySq1 ShearErrCheck
{(Shear/Rot.xy-yy) StripError} if
% Проверка сдвига и поворота. Увеличение индикатора
% состояния.
/Progress 4 def
% Экстрагирование факторов масштабирования из
% отрегулированных величин.
/xxS xxSq1 ScaleFactor def
/xyS xySq1 ScaleFactor def
/yxS yxSq1 ScaleFactor def
/yyS yySq1 ScaleFactor def
% Проверка фактора масштабирования. Увеличение
% индикатора состояния.
/Progress 5def
% Определение матрицы координатной системы в
% зависимости от целочисленных факторов
% масштабирования для применения при печати
% последующих данных изображения.
/SSMatrix [xxS xyS yyS udxO udyO] def
% Преобразование от 72 точек на дюйм (пространство
% пользователя) в пространство устройства, то есть
% цифра 1 теперь относится к одному пикселю (или к
% их целому кратному числу) в зависимости от
% факторов масштабирования в SSMatrix. При
% использовании этой матрицы для последующей
% печати полосы, данные изображения (которые
% определены в зависимости от пикселей печатающего
% устройства), вынуждены печататься полностью
% совмещенными с координатной системой
% печатающего устройства при целочисленном факторе
% масштабирования.
SSMatrix setmatrix
% Все идет хорошо. Индикатор состояния
% устанавливается на 6 и нормально заканчивается
% первая часть кода (то есть без директивного
% останова).
/Progress 6 def
}
% Проверка, нормально ли закончена первая часть кода.
% Если нет, то выполняется вторая часть - обработка
% искажения.
Stopped {
% Восстановление и сохранение исходной координатной
% системы (и графической конфигурации).
Grestore
gsave
% Формирование горизонтального фактора
% масштабирования на основе ширины данных
% изображения. Значение "istrpwid" вводят
% посредством программы, которая добавляет запись
% этого кода к данным изображения).
istrpwid 72 div 1 scale
% Формирование точечного представления контура
% полосы в текущей координатной системе, чтобы
% графически показать, как бы полоса была повернута,
% сдвинута или масштабирована, если бы она была
% напечатана в этой ориентации.
0.5 setlinewidth
newpath
О О moveto
О -144 lineto
72 -144 lineto
72 O lineto
closepath
stroke
% Для печати данных искажения выбор 8 точек шрифта
% Helvetica
/Helvetica findfont 8 scalefont setfont
% Завершение точечного представления полосы.
18 O moveto
36 О rlineto
0-7 rlineto
-36 O rlineto
closepath stroke
% Определение высоты линии текста для печати
% сообщения (9 точек).
/leftedge 5 def
% Установка исходного положения для печати
% сообщения.
leftedge Inestep 2 mul moveto
gsave
% Определение специальной newline-функции (Senl)
% для "показа" линии текста в стеке, затем пошаговое
% продвижение к следующему положению линии.
Senl {show grestore О linestep rmoveto gsave} def
% Следующие сообщения печатаются без ограничения
% какими-либо условиями.
(****ERROR*****) Senl
(ReqstdDPI=)show DPI 20 string cvs Senl
(ActualDPI=)show ActualDPI 20 string cvs Senl
(xxDPI=)show xxDPI 20 string cvs Senl
(xyDPI=)show xyDPI 20 string cvs Senl
(yxDPI=)show yxDPI 20 string cvs Senl
(yyDPI=)show yyDPI 20 string cvs Senl
% Следующие сообщения печатаются, если индикатор
% состояния равен по меньшей мере 3.
Progress 3 ge {
(xxSql=)show xxSql 20 string cvs Senl
(xySql=)show xySql 20 string cvs Senl
(yxSql=)show yxSql 20 string cvs Senl
(yySql=)show yySql 20 string cvs Senl} if
% Следующие сообщения печатаются, если индикатор
% состояния равен по меньшей мере 5.
Progress 5 ge {
(xxS=)show xxS 20 string cvs Senl
(xyS=)show xyS 20 string cvs Senl
(yxS=)show yxS 20 string cvs Senl
(yyS=)show yyS 20 string cvs Senl} if
% Печать описания текста того, что было неправильным,
% после значения индикатора состояния.
StripEirMag Senl
(Progress=) show Progress 200 string cvs show grestore
} if
Вероятно, что для квалифицированного специалиста в этой области техники станут очевидными возможные изменения и модификации, которые могут быть сделаны, при этом предполагается, что формула изобретения охватывает все такие изменения и модификации, которые соответствуют сущности настоящего изобретения и находятся в пределах его объема.

Claims (9)

1. Способ, осуществленный на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики, заключающийся в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, трансформируют битовое отображение кода машинно-считываемого кодового изображения путем изменения размеров и осуществления поворота в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения.
2. Способ по п.1, отличающийся тем, что дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем коррекции по сдвигу в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера.
3. Способ, осуществленный на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики, заключающийся в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, трансформируют битовое отображение кода машинно-считываемого кодового изображения путем изменения размеров и перемещения в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения.
4. Способ по п. 3, отличающийся тем, что дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем осуществления поворота в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера.
5. Способ по п. 3, отличающийся тем, что дополнительно после анализа физических характеристик массива пикселей указанного принтера и перед печатью машинно-считываемого кодового изображения на принтере трансформируют битовое отображение кода машинно-считываемого кодового изображения путем коррекции по сдвигу в той степени, которая требуется для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера.
6. Способ, осуществленный на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики, заключающийся в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, измеряют разницу ориентации между массивом пикселей, определенным машинно-считываемым кодовым изображением, и указанными физическими характеристиками массива пикселей указанного принтера, сравнивают величину указанной разницы с нулем и с заданным максимально допустимым значением разницы ориентации и, если величина разницы ориентации больше нуля и меньше максимально допустимого значения разницы ориентации, то трансформируют машинно-считываемое кодовое изображение путем устранения разницы ориентации для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения, а если величина разницы ориентации больше максимально допустимого значения разницы ориентации, то осуществляют вывод на печать сообщения об искажении.
7. Способ по п.6, отличающийся тем, что сообщение об искажении является графическим изображением искажения.
8. Способ, осуществленный на процессоре принтера, печати машинно-считываемых кодовых изображений на выбранном принтере, имеющем известные и доступные характеристики воспроизведения, причем каждое из указанных машинно-считываемых кодовых изображений определено битовым отображением кода и имеет прямолинейные двухмерные геометрические характеристики, заключающийся в том, что вводят битовое отображение кода машинно-считываемого кодового изображения, предназначенного для печати, в битовое отображение выводимого принтером изображения с помощью программных средств, без учета возможности внесения искажений в указанное изображение, получают для процессора принтера характеристики воспроизведения указанного выбранного принтера, анализируют с помощью указанного процессора принтера физические характеристики массива пикселей указанного принтера на основе полученных характеристик воспроизведения, измеряют величины сдвигового искажения между массивом пикселей, определенным машинно-считываемым кодовым изображением, и указанными физическими характеристиками массива пикселей указанного принтера, сравнивают величину указанного сдвигового искажения с нулем и с заданным максимально допустимым значением сдвигового искажения и, если величина указанного сдвигового искажения больше нуля и меньше максимально допустимого значения сдвигового искажения, то трансформируют машинно-считываемое кодовое изображение путем устранения разницы ориентации для точного соответствия прямолинейных двухмерных геометрических характеристик кодового изображения целым кратным указанных физических характеристик массива пикселей указанного принтера, осуществляют печать на выбранном принтере трансформированного машинно-считываемого кодового изображения, а если величина указанного сдвигового искажения больше максимально допустимого значения разницы ориентации, то осуществляют вывод на печать сообщения об ошибке.
9. Способ по п.6, отличающийся тем, что сообщение об ошибке представляет собой графическое сообщение об ошибке.
RU98111761/09A 1995-11-16 1996-11-15 Совмещение машиночитаемых кодов с пикселями печатающего устройства RU2198430C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/558,421 US5745658A (en) 1995-11-16 1995-11-16 Method of aligning one dimensional or two dimensional codes to printer pixels
US08/558,421 1995-11-16

Publications (2)

Publication Number Publication Date
RU98111761A RU98111761A (ru) 2000-05-10
RU2198430C2 true RU2198430C2 (ru) 2003-02-10

Family

ID=24229473

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98111761/09A RU2198430C2 (ru) 1995-11-16 1996-11-15 Совмещение машиночитаемых кодов с пикселями печатающего устройства

Country Status (11)

Country Link
US (1) US5745658A (ru)
EP (1) EP0861476A4 (ru)
JP (1) JP2000500705A (ru)
AU (1) AU723876B2 (ru)
BR (1) BR9611518A (ru)
CA (1) CA2237635A1 (ru)
IL (1) IL124385A (ru)
MX (1) MX9803721A (ru)
NZ (1) NZ323234A (ru)
RU (1) RU2198430C2 (ru)
WO (1) WO1997018530A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008100173A1 (fr) * 2007-02-15 2008-08-21 Zuev, Boris Alexandrovich Procédé de fabrication d'articles imprimés et article imprimé fabriqué par ce procédé

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2968520B2 (ja) 1997-05-22 1999-10-25 三星電子株式会社 スキャナの歪み補正方法及び装置
KR100228714B1 (ko) * 1997-07-23 1999-11-01 윤종용 화상형성장치
US6182096B1 (en) * 1998-06-30 2001-01-30 International Business Machines Corporation Method and apparatus of creating highly portable output files by combining pages from multiple input files
JP2006306045A (ja) * 2005-03-29 2006-11-09 Seiko Epson Corp 印刷装置、画像印刷方法、および、画像印刷プログラム
KR20080086301A (ko) * 2007-03-22 2008-09-25 삼성전자주식회사 화상 형성 장치 및 그 제어 방법
US9369608B2 (en) * 2010-12-13 2016-06-14 Hewlett-Packard Industrial Printing Ltd Printing methods and apparatus
JP7381211B2 (ja) * 2019-03-18 2023-11-15 セイコーエプソン株式会社 画像処理装置および画像処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241653A (en) * 1990-04-12 1993-08-31 Adobe Systems Incorporated Apparatus and method for adjusting and displaying scaled, rasterized characters
US5459828A (en) * 1990-08-01 1995-10-17 Xerox Corporation Optimized scaling and production of raster fonts from contour master fonts
US5404411A (en) * 1990-12-27 1995-04-04 Xerox Corporation Bitmap-image pattern matching apparatus for correcting bitmap errors in a printing system
US5299294A (en) * 1991-10-01 1994-03-29 Xerox Corporation Method for compensating for font resolution conversion error

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008100173A1 (fr) * 2007-02-15 2008-08-21 Zuev, Boris Alexandrovich Procédé de fabrication d'articles imprimés et article imprimé fabriqué par ce procédé

Also Published As

Publication number Publication date
NZ323234A (en) 1999-09-29
AU723876B2 (en) 2000-09-07
EP0861476A4 (en) 2000-05-17
JP2000500705A (ja) 2000-01-25
EP0861476A1 (en) 1998-09-02
US5745658A (en) 1998-04-28
MX9803721A (es) 1998-11-30
IL124385A0 (en) 1998-12-06
BR9611518A (pt) 1999-09-28
AU7732296A (en) 1997-06-05
WO1997018530A1 (en) 1997-05-22
IL124385A (en) 2001-06-14
CA2237635A1 (en) 1997-05-22

Similar Documents

Publication Publication Date Title
US6661919B2 (en) Method and apparatus for producing a hybrid data structure for displaying a raster image
EP0700197B1 (en) Method and apparatus for producing a hybrid data structure for displaying a raster image
US6439465B1 (en) Encoding small amounts of embedded digital data at arbitrary locations within an image
JP4343968B2 (ja) 画像形成装置及び方法
US5835634A (en) Bitmap comparison apparatus and method using an outline mask and differently weighted bits
RU2198430C2 (ru) Совмещение машиночитаемых кодов с пикселями печатающего устройства
JP4871794B2 (ja) 印刷装置及び印刷方法
EP0357383B1 (en) Output apparatus
EP1093078B1 (en) Reducing apprearance differences between coded and noncoded units of text
US20100147960A1 (en) Methods, devices, and systems for printing bar codes
WO1997018530A9 (en) Aligning machine-readable codes to printer pixels
US6430321B1 (en) Text enhancement
JPH06344601A (ja) 出力装置および出力方法
US5325469A (en) Graphic emulation method in a printer
US11386309B2 (en) Printing apparatus, printing method, and non-transitory computer-readable recording medium therefor
EP3803795B1 (en) Method and apparatus for anisotropically modifying text attributes to comply with a resolution limit
JP3072428B2 (ja) 文字表示装置
JP2854344B2 (ja) ミクストモード文書の表示方法
JP3118310B2 (ja) ページプリンタの印字処理方法
JP2827288B2 (ja) 文字認識装置
EP0694877A2 (en) Irreversible compression system and method for bit map images
JPH08123904A (ja) 書体種類処理装置
JPH01229649A (ja) ベクトルフォントデータを用いた印刷方式
JPH01210355A (ja) 文字パターン発生方式
JPS63242561A (ja) フオント縮小システム

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20041116