How to tell what CUPS type a printer supports

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0















Reading through some of the CUPS docs, the points quoted at the bottom of this post were relevant.



My question is how to tell what "CUPS type" your printer supports. By that I mean, there are different filters:





  • <epson.h> - Defines all of the rastertoepson driver constants.


  • <escp.h> - Defines all of the rastertoescpx driver constants.


  • <hp.h> - Defines all of the rastertohp driver constants.


  • <label.h> - Defines all of the rastertolabel driver constants.


  • <pcl.h> - Defines all of the rastertopclx driver constants.


  • <raster.defs> - Defines all of the CUPS raster format constants.



But I don't see how this connects to what a printer supports.



I understand the meaning of "raster" (as just a bitmap image), and it seems that "hp" means "Hewlett Packard" printers and epson are Epson printers, and "PCL" means "Printer Control Language", but I'm not sure what the other ones mean (escp, label). And other than hp/epson, I'm not sure how to tell if your printer is one of these. A lot of major brands are missing from the hp/epson list, wondering if these are included in the other lists in some way or place I can find online.



In addition, the docs say "Developing PostScript Printer Drivers" and "Developing Raster Printer Drivers". I don't see where PostScript is in that list above, and why there's not an explanation on developing the other drivers like "Label Printer Drivers".



In summary, my question is how to tell what type of driver your printer should use, without just letting the CUPS program figure it out for you. I'd like to know at least at a high level how to manually go from a printer to something that CUPS selects to use for that printer.



Overall, it sounds like the key difference is between PostScript and Non-PostScript, or Raster and Non-Raster, printers. So PostScript vs. Raster. But I'm not sure if there's a third in the mix, and not sure how to tell hat the printer supports.



In looking through cups/cups, I see basically:



  • ppd

  • raster

  • pwg

  • snmp

  • ipp

I think these are all various formats the printers can potentially support, so it seems like "pick one of these" somehow. It sounds like raster is all that is necessary.



Other helpful links:



  • CUPS Raster Format

  • Dissecting The CUPS Filtering System: A Network Postscript RIP For non-PS Printers

  • PPD File Structure Specification



When CUPS gets a job for printing, it determines the best programs (filters, printer drivers, port monitors, and backends) to convert the pages into a printable format and then runs them to actually print the job.



...



PostScript Printer Description ("PPD") files describe the capabilities of each printer and are used by CUPS to support printer-specific features and intelligent filtering.



...



A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more filter programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.



...



CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into device-independent PostScript, and then from device-independent PostScript to device-dependent PostScript. Figure 1 shows the data flow of a typical print job.



enter image description here



The optional PostScript filter can be provided to add printer-specific commands to the PostScript output that cannot be represented in the PPD file or to reorganize the output for special printer features.



The optional port monitor handles interface-specific protocol or encoding issues. For example, many PostScript printers support the Binary Communications Protocol (BCP) and Tagged Binary Communications Protocol (TBCP) to allow applications to print 8-bit ("binary") PostScript jobs. CUPS includes port monitors for BCP and TBCP, and you can supply your own port monitors as needed.



The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.



...



Normally a PostScript printer driver will not utilize any additional print filters.











share|improve this question




























    0















    Reading through some of the CUPS docs, the points quoted at the bottom of this post were relevant.



    My question is how to tell what "CUPS type" your printer supports. By that I mean, there are different filters:





    • <epson.h> - Defines all of the rastertoepson driver constants.


    • <escp.h> - Defines all of the rastertoescpx driver constants.


    • <hp.h> - Defines all of the rastertohp driver constants.


    • <label.h> - Defines all of the rastertolabel driver constants.


    • <pcl.h> - Defines all of the rastertopclx driver constants.


    • <raster.defs> - Defines all of the CUPS raster format constants.



    But I don't see how this connects to what a printer supports.



    I understand the meaning of "raster" (as just a bitmap image), and it seems that "hp" means "Hewlett Packard" printers and epson are Epson printers, and "PCL" means "Printer Control Language", but I'm not sure what the other ones mean (escp, label). And other than hp/epson, I'm not sure how to tell if your printer is one of these. A lot of major brands are missing from the hp/epson list, wondering if these are included in the other lists in some way or place I can find online.



    In addition, the docs say "Developing PostScript Printer Drivers" and "Developing Raster Printer Drivers". I don't see where PostScript is in that list above, and why there's not an explanation on developing the other drivers like "Label Printer Drivers".



    In summary, my question is how to tell what type of driver your printer should use, without just letting the CUPS program figure it out for you. I'd like to know at least at a high level how to manually go from a printer to something that CUPS selects to use for that printer.



    Overall, it sounds like the key difference is between PostScript and Non-PostScript, or Raster and Non-Raster, printers. So PostScript vs. Raster. But I'm not sure if there's a third in the mix, and not sure how to tell hat the printer supports.



    In looking through cups/cups, I see basically:



    • ppd

    • raster

    • pwg

    • snmp

    • ipp

    I think these are all various formats the printers can potentially support, so it seems like "pick one of these" somehow. It sounds like raster is all that is necessary.



    Other helpful links:



    • CUPS Raster Format

    • Dissecting The CUPS Filtering System: A Network Postscript RIP For non-PS Printers

    • PPD File Structure Specification



    When CUPS gets a job for printing, it determines the best programs (filters, printer drivers, port monitors, and backends) to convert the pages into a printable format and then runs them to actually print the job.



    ...



    PostScript Printer Description ("PPD") files describe the capabilities of each printer and are used by CUPS to support printer-specific features and intelligent filtering.



    ...



    A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more filter programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.



    ...



    CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into device-independent PostScript, and then from device-independent PostScript to device-dependent PostScript. Figure 1 shows the data flow of a typical print job.



    enter image description here



    The optional PostScript filter can be provided to add printer-specific commands to the PostScript output that cannot be represented in the PPD file or to reorganize the output for special printer features.



    The optional port monitor handles interface-specific protocol or encoding issues. For example, many PostScript printers support the Binary Communications Protocol (BCP) and Tagged Binary Communications Protocol (TBCP) to allow applications to print 8-bit ("binary") PostScript jobs. CUPS includes port monitors for BCP and TBCP, and you can supply your own port monitors as needed.



    The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.



    ...



    Normally a PostScript printer driver will not utilize any additional print filters.











    share|improve this question


























      0












      0








      0








      Reading through some of the CUPS docs, the points quoted at the bottom of this post were relevant.



      My question is how to tell what "CUPS type" your printer supports. By that I mean, there are different filters:





      • <epson.h> - Defines all of the rastertoepson driver constants.


      • <escp.h> - Defines all of the rastertoescpx driver constants.


      • <hp.h> - Defines all of the rastertohp driver constants.


      • <label.h> - Defines all of the rastertolabel driver constants.


      • <pcl.h> - Defines all of the rastertopclx driver constants.


      • <raster.defs> - Defines all of the CUPS raster format constants.



      But I don't see how this connects to what a printer supports.



      I understand the meaning of "raster" (as just a bitmap image), and it seems that "hp" means "Hewlett Packard" printers and epson are Epson printers, and "PCL" means "Printer Control Language", but I'm not sure what the other ones mean (escp, label). And other than hp/epson, I'm not sure how to tell if your printer is one of these. A lot of major brands are missing from the hp/epson list, wondering if these are included in the other lists in some way or place I can find online.



      In addition, the docs say "Developing PostScript Printer Drivers" and "Developing Raster Printer Drivers". I don't see where PostScript is in that list above, and why there's not an explanation on developing the other drivers like "Label Printer Drivers".



      In summary, my question is how to tell what type of driver your printer should use, without just letting the CUPS program figure it out for you. I'd like to know at least at a high level how to manually go from a printer to something that CUPS selects to use for that printer.



      Overall, it sounds like the key difference is between PostScript and Non-PostScript, or Raster and Non-Raster, printers. So PostScript vs. Raster. But I'm not sure if there's a third in the mix, and not sure how to tell hat the printer supports.



      In looking through cups/cups, I see basically:



      • ppd

      • raster

      • pwg

      • snmp

      • ipp

      I think these are all various formats the printers can potentially support, so it seems like "pick one of these" somehow. It sounds like raster is all that is necessary.



      Other helpful links:



      • CUPS Raster Format

      • Dissecting The CUPS Filtering System: A Network Postscript RIP For non-PS Printers

      • PPD File Structure Specification



      When CUPS gets a job for printing, it determines the best programs (filters, printer drivers, port monitors, and backends) to convert the pages into a printable format and then runs them to actually print the job.



      ...



      PostScript Printer Description ("PPD") files describe the capabilities of each printer and are used by CUPS to support printer-specific features and intelligent filtering.



      ...



      A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more filter programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.



      ...



      CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into device-independent PostScript, and then from device-independent PostScript to device-dependent PostScript. Figure 1 shows the data flow of a typical print job.



      enter image description here



      The optional PostScript filter can be provided to add printer-specific commands to the PostScript output that cannot be represented in the PPD file or to reorganize the output for special printer features.



      The optional port monitor handles interface-specific protocol or encoding issues. For example, many PostScript printers support the Binary Communications Protocol (BCP) and Tagged Binary Communications Protocol (TBCP) to allow applications to print 8-bit ("binary") PostScript jobs. CUPS includes port monitors for BCP and TBCP, and you can supply your own port monitors as needed.



      The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.



      ...



      Normally a PostScript printer driver will not utilize any additional print filters.











      share|improve this question
















      Reading through some of the CUPS docs, the points quoted at the bottom of this post were relevant.



      My question is how to tell what "CUPS type" your printer supports. By that I mean, there are different filters:





      • <epson.h> - Defines all of the rastertoepson driver constants.


      • <escp.h> - Defines all of the rastertoescpx driver constants.


      • <hp.h> - Defines all of the rastertohp driver constants.


      • <label.h> - Defines all of the rastertolabel driver constants.


      • <pcl.h> - Defines all of the rastertopclx driver constants.


      • <raster.defs> - Defines all of the CUPS raster format constants.



      But I don't see how this connects to what a printer supports.



      I understand the meaning of "raster" (as just a bitmap image), and it seems that "hp" means "Hewlett Packard" printers and epson are Epson printers, and "PCL" means "Printer Control Language", but I'm not sure what the other ones mean (escp, label). And other than hp/epson, I'm not sure how to tell if your printer is one of these. A lot of major brands are missing from the hp/epson list, wondering if these are included in the other lists in some way or place I can find online.



      In addition, the docs say "Developing PostScript Printer Drivers" and "Developing Raster Printer Drivers". I don't see where PostScript is in that list above, and why there's not an explanation on developing the other drivers like "Label Printer Drivers".



      In summary, my question is how to tell what type of driver your printer should use, without just letting the CUPS program figure it out for you. I'd like to know at least at a high level how to manually go from a printer to something that CUPS selects to use for that printer.



      Overall, it sounds like the key difference is between PostScript and Non-PostScript, or Raster and Non-Raster, printers. So PostScript vs. Raster. But I'm not sure if there's a third in the mix, and not sure how to tell hat the printer supports.



      In looking through cups/cups, I see basically:



      • ppd

      • raster

      • pwg

      • snmp

      • ipp

      I think these are all various formats the printers can potentially support, so it seems like "pick one of these" somehow. It sounds like raster is all that is necessary.



      Other helpful links:



      • CUPS Raster Format

      • Dissecting The CUPS Filtering System: A Network Postscript RIP For non-PS Printers

      • PPD File Structure Specification



      When CUPS gets a job for printing, it determines the best programs (filters, printer drivers, port monitors, and backends) to convert the pages into a printable format and then runs them to actually print the job.



      ...



      PostScript Printer Description ("PPD") files describe the capabilities of each printer and are used by CUPS to support printer-specific features and intelligent filtering.



      ...



      A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more filter programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.



      ...



      CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into device-independent PostScript, and then from device-independent PostScript to device-dependent PostScript. Figure 1 shows the data flow of a typical print job.



      enter image description here



      The optional PostScript filter can be provided to add printer-specific commands to the PostScript output that cannot be represented in the PPD file or to reorganize the output for special printer features.



      The optional port monitor handles interface-specific protocol or encoding issues. For example, many PostScript printers support the Binary Communications Protocol (BCP) and Tagged Binary Communications Protocol (TBCP) to allow applications to print 8-bit ("binary") PostScript jobs. CUPS includes port monitors for BCP and TBCP, and you can supply your own port monitors as needed.



      The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.



      ...



      Normally a PostScript printer driver will not utilize any additional print filters.








      drivers cups printer






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 10 at 12:44







      user10869858

















      asked Jan 10 at 12:09









      user10869858user10869858

      234




      234




















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493695%2fhow-to-tell-what-cups-type-a-printer-supports%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493695%2fhow-to-tell-what-cups-type-a-printer-supports%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown






          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?