Предварительное примечание: То, что вы цитируете, не является родным CUPS API.Он является частью библиотеки проекта OpenPrinting .OpenPrinting предоставляет и поддерживает набор фильтров, которые могут быть интегрированы и закреплены в CUPS, в основном для пользователей Linux, поскольку Apple больше не поддерживает эту ОС напрямую, а вместо этого передает соответствующие части кода CUPS в Linux Foundation ...
В контексте CUPS и двух упомянутых вами исходных файлов библиотеки «растр» - это определенный растровый формат, определенный здесь (и он фактически зарегистрирован в IANA как mime-тип 'application/vnd.cups-raster'
):
Итак, это ни TIFF, ни PNG, ни JPEG.CUPS-растр - это формат изображения, специфичный для CUPS, который разработан для использования с CUPS.
Этот формат играет промежуточную роль для некоторых типов заданий печати, когда требуется преобразование для формата документа для печати (например, PostScript)., PDF, TIFF, JPEG, PNG, Text, ...) в таком формате, который может использовать принтер. (Если вы покупаете принтер сегодня, вероятность того, что он сможет напрямую использовать PDF, составляет около 95%, поэтому никакого реального преобразования не требуется!)
Однако, если принтер не PDF-Если вы активируете (как и старые модели, как и многие устройства HP PCL-only), вам необходимо преобразовать формат печати в соответствии с предпочтениями принтера.Вы можете увидеть «промежуточную» роль растра CUPS в возможных цепочках преобразований формата файлов, которые CUPS может автоматически устанавливать для каждого задания на печать:
## FILE FORMAT CONVERSIONS
PDF -> CUPS-raster -> PCL6 # PCL6-consuming printer
PDF -> CUPS-raster -> PCL3 # PCL3-consuming printer
PDF -> CUPS-raster -> ESC/P # EPSON's ESC/P consuming printer
Для выполнения этих преобразований в CUPS используется цепочка «фильтры ", которые конвертируют из одного формата в другой.Он создает эти цепочки автоматически для каждого задания на печать, в зависимости от текущей потребности, о которой сообщается при печати и требуемого (целевым принтером) вывода:
## CUPS FILTERING CHAIN EXAMPLES
(PDF input) -> pdftoraster -> rastertohp # PCL6-consuming printer
(PostScript input) -> gstoraster -> rastertohp # PCL3-consuming printer
(TIFF input) -> imagetoraster -> rastertoescpx # EPSON's ESC/P consuming printer
(PNG input) -> imagetoraster -> rastertopwg # any IPP-Everywhere printer
(JPEG input) -> imagetoraster -> rastertopdf # any PDF-enabled printer
(PDF input) -> pdftoraster -> rastertoqpdf # some Samsung printers consuming SPLIX
Вам следует поискать в каталоге / usr/ lib / cups / filter / в Linux (или / usr / libexec / cups / filter / в macOS), чтобы увидеть список всех установленных фильтров в вашей системе.Если у вас есть доступ как к Linux, так и к macOS, вы увидите довольно много различий:
macOS: например, на macOS вы увидите *Фильтр 1040 *cgpdftoraster
, который является собственностью Apple, не выпускается как Open Source и недоступен в Linux.(Он взаимодействует с библиотекой Apple Core Graphic , которая в любом случае не используется в Linux.) Конвертируется в растровый формат CUPS.
Затем есть (как минимум) еще два фильтракоторые принимают созданный растр CUPS и преобразуют его далее: rastertopwg
и rastertourf
:
- URF - это растровый формат (проприетарный для Apple), который должны использоваться всеми принтерами с поддержкой AirPrint и сертифицированнымиsupport.
- PWG - это растровый формат, определенный рабочей группой по принтерам (PWG) .Он очень похож на URF, и каждый IPP Everywhere сертифицированный принтер должен поддерживать его.
Там может бытьдополнительные rastertoXYZ фильтры в вашей системе, если вы установили драйвер принтера какого-либо поставщика.
Linux: , например, в Linux (с OpenPrintingcups-filters
установлен пакет) вы увидите {pdf,image,gs}toraster
, который также конвертируется в растровый формат CUPS.
Два фильтра rasterto{pdf,pwg}
конвертировать растр CUPS в PDF и в растр PWG.
Опять же: в вашей системе могут быть дополнительные фильтры rastertoXYZ , если вы установили собственный драйвер принтера какого-либо поставщика или у вас естьустановлены дополнительные пакеты драйверов принтера, такие как HPLIP, Gutenprint, printer-driver-foo2zjs, printer-driver-splix или printer-driver-brlaser (имена пакетов для Debian).
Чтобы увидеть, какой конкретный формат входного файла MIME типВы можете конвертировать, по какому фильтру, в какой конкретный тип выходного mime вы должны просмотреть и прочитать все файлы / usr / share / cups / mime / *. convs вашей системы.
«Растровый принтер» на языке CUPS - это любой принтер, который не использует PDF или PostScript. (Строго говоря, на рынке есть также принтеры, которые могут использовать формат печати Microsoft XPS / OXPS, который также основан на векторах. Но они не поддерживаются CUPS, ни в macOS, ни в Linux. Поставщики предоставляют драйверы только для Windows.)