You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 40996da
Browse filesBrowse the repository at this point in the historyBrowse files
Fix: Correct URL errors for Documentation pages (#214)
The URL on the Documentation page contained errors in the target URL, for example, when trying to go to "/documentation/05-User-Manual" it was only written as "/05-User-Manual." Several invalid URLs were also found on the Documentation page.
- Fixed errors for Documentation 01-Printer Application
- Fixed errors for Documentation 02-Designing Printer Drivers
- Fixed errors for Documentation 03-Designing Scanner Drivers
- Fixed errors for Documentation 04-Packaging Drivers
- Fixed errors for Documentation 05-User Manual
- Fixed errors for Snapcraft installation links
- Replaced several static URLs "https://openprinting.github.io/documentation/05-User-Manual" with "/documentation/05-User-Manual"
- Fixed several invalid URLs
Copy file name to clipboardExpand all lines: contents/documentation/01-printer-application.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ The following document contains information about the history of printing and it
11
11
12
12
## Brief History
13
13
14
-
The first release of CUPS was back in 1997. <sup><ahref="https://openprinting.github.io/How-did-this-all-begin/">[1]</a></sup> Since then, Printer Drivers consisted of **PPD files** and **CUPS filters**.
14
+
The first release of CUPS was back in 1997. <sup><ahref="/How-did-this-all-begin">[1]</a></sup> Since then, Printer Drivers consisted of **PPD files** and **CUPS filters**.
15
15
16
16
**PPD (PostScript Printer Description)** is a decades-old data format created by Adobe, probably together with PostScript or shortly after, to describe capabilities and user-settable options of PostScript printers and which PostScript commands to embed in the print job to execute the option settings.
17
17
@@ -76,7 +76,7 @@ A **Printer Application's Web Interface** provides configurability and makes it
76
76
77
77
This is a complete printing stack in a Snap. It contains not only CUPS but also cups-filters, Ghostscript, and Poppler. It is everything which is required for printing, except Printer Drivers. Till Kamppeter has created this in order to provide a complete printing stack for a purely Snap-based Operating System.
Printer Applications have a lot in common. It would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all this. Therefore Michael Sweet has created PAPPL, a library which provides all the common functionality which is needed in every Printer Application.
82
82
@@ -90,19 +90,19 @@ A **Printer Application's Web Interface** provides configurability and makes it
90
90
91
91
Currently, PAPPL supports only raster printers and that too for very few specific input formats like JPEG and PNG. For adding support for non-raster printers like PDF and PostScript printers, you need to supply an external utility that converts the whole job’s data into a data stream which the printer understands. Openprinting and CUPS Filters again come to the rescue here.
92
92
93
-
Manufacturers can use CUPS Filters to design these external utilities and decide which set of Filters to use and the order in which these should be invoked depending upon the efficiency and input-output formats. Kindly refer to guidelines for designing of printer applications<sup> <ahref="../02-designing-printer-drivers/">[4]</a></sup> for more details.
93
+
Manufacturers can use CUPS Filters to design these external utilities and decide which set of Filters to use and the order in which these should be invoked depending upon the efficiency and input-output formats. Kindly refer to guidelines for designing of printer applications<sup> <ahref="/documentation/02-designing-printer-drivers">[4]</a></sup> for more details.
94
94
95
95
* <strong>Providing Sufficient Guidance</strong>
96
96
97
-
OpenPrinting also helps the manufacturer about designing of printer <sup> <ahref="../02-designing-printer-drivers/">[4]</a></sup> and scanner drivers.<sup><ahref="../03-designing-scanner-drivers/">[5]</a></sup> It also guides them about packaging those drivers and uploading on Snap Store. <sup> <ahref="../04-packaging-drivers/">[6]</a></sup> It also educated users about using Printer Application Drivers. It provides neccessary documentation and tutorial for all the above mentioned things.<sup> <ahref="../05-User-Manual/">[7]</a></sup>
97
+
OpenPrinting also helps the manufacturer about designing of printer <sup> <ahref="/documentation/02-designing-printer-drivers">[4]</a></sup> and scanner drivers.<sup><ahref="/documentation/03-designing-scanner-drivers">[5]</a></sup> It also guides them about packaging those drivers and uploading on Snap Store. <sup> <ahref="/documentation/04-packaging-drivers">[6]</a></sup> It also educated users about using Printer Application Drivers. It provides neccessary documentation and tutorial for all the above mentioned things.<sup> <ahref="/documentation/05-User-Manual">[7]</a></sup>
98
98
99
99
100
100
### Manufacturer
101
101
102
-
The Manufacturer besides manufacturing Printers and Scanners, is also expected to design drivers for the same. They can use PAPPL<sup><ahref="https://github.com/michaelrsweet/pappl/">[3]</a></sup> library which certainly reduces their task to an great extent. Also they could take help from the documentation and tutorial developed by the OpenPrinting team. <sup> <ahref="../02-designing-printer-drivers/">[4]</a></sup>
The Manufacturer besides manufacturing Printers and Scanners, is also expected to design drivers for the same. They can use PAPPL<sup><ahref="https://github.com/michaelrsweet/pappl">[3]</a></sup> library which certainly reduces their task to an great extent. Also they could take help from the documentation and tutorial developed by the OpenPrinting team. <sup> <ahref="/documentation/02-designing-printer-drivers">[4]</a></sup>
After designing the drivers, they need to package them and Upload it to Snap Store. Again, documentation and tutorial for the same have developed by the OpenPrinting team which could be referred.<sup> <ahref="../04-packaging-drivers/">[6]</a></sup>
105
+
After designing the drivers, they need to package them and Upload it to Snap Store. Again, documentation and tutorial for the same have developed by the OpenPrinting team which could be referred.<sup> <ahref="/documentation/04-packaging-drivers">[6]</a></sup>
106
106
107
107
108
108
### User
@@ -111,22 +111,22 @@ The user is relieved from most of the complexities and is just required to insta
111
111
112
112
Further, he has the option to change his printer properties through the Web GUI provided with Printer Application.
113
113
114
-
The OpenPrintring team has also worked out documentation and tutorials about installing CUPS and Drivers and using Web-based GUI, making the switch to this new technology easier for all.<sup> <ahref="../05-User-Manual/">[7]</a></sup>
114
+
The OpenPrintring team has also worked out documentation and tutorials about installing CUPS and Drivers and using Web-based GUI, making the switch to this new technology easier for all.<sup> <ahref="/documentation/05-User-Manual">[7]</a></sup>
115
115
116
116
## Resources
117
117
118
-
[1] <ahref="https://openprinting.github.io/How-did-this-all-begin/">How all this began</a>
118
+
[1] <ahref="/How-did-this-all-begin">How all this began</a>
Copy file name to clipboardExpand all lines: contents/documentation/02-designing-printer-drivers.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,14 @@ toc: true
4
4
toc_sticky: true
5
5
h_range: [1,2]
6
6
---
7
-
**This document contains a complete tutorial as well as information for manufacturers with examples for designing printer drivers. If you are looking for information regarding the use of printer drivers, kindly refer to <ahref="../05-User-Manual/">User Manual</a>**
7
+
**This document contains a complete tutorial as well as information for manufacturers with examples for designing printer drivers. If you are looking for information regarding the use of printer drivers, kindly refer to <ahref="/documentation/05-User-Manual">User Manual</a>**
8
8
9
9
10
10
<h2id="introduction"> Introduction </h2>
11
11
12
-
A driver is a code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless/), which means there is no need for any hardware-model-specific code or data. However, there are some problems with the current framework. For example, some printers(especially the old ones) that cannot handle IPP requests are devoid of driverless printing capability. Printer Applications help to address these issues. Kindly refer <ahref="../01-printer-application/">Printer Applications - A new way to print in Linux</a> to learn more about Printer Applications, its working and benefits.
12
+
A driver is a code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless), which means there is no need for any hardware-model-specific code or data. However, there are some problems with the current framework. For example, some printers(especially the old ones) that cannot handle IPP requests are devoid of driverless printing capability. Printer Applications help to address these issues. Kindly refer <ahref="/documentation/01-printer-application">Printer Applications - A new way to print in Linux</a> to learn more about Printer Applications, its working and benefits.
13
13
14
-
For Designing the Printer Application Driver, it would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all things from scratch. Therefore Michael Sweet has developed <ahref="https://github.com/michaelrsweet/pappl/">PAPPL</a>, a library that provides all the common functionality which is required in every Printer Application.
14
+
For Designing the Printer Application Driver, it would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all things from scratch. Therefore Michael Sweet has developed <ahref="https://github.com/michaelrsweet/pappl">PAPPL</a>, a library that provides all the common functionality which is required in every Printer Application.
15
15
16
16
The flowchart below mentions the components of the driver that needs to be designed by you (boxes in blue color), along with the PAPPL utilities (boxes in red color) that would be used by your designed components.
17
17
@@ -52,7 +52,7 @@ The following tutorial helps you to understand how to design each component and
52
52
53
53
The system is an object of type `pappl_system_t` that manages client and device connections, listeners, the log, printers, and resources. In addition, it provides an optional embedded web interface, raw socket printing, and USB printer gadget (Linux only).
54
54
55
-
The system callback argument specifies a function that will create a new system, i.e. a `pappl_system_t` object. You can use the callback function to customisably configure system properties using the <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>. This includes configuring Footer HTML on your web interface and setting up drivers.
55
+
The system callback argument specifies a function that will create a new system, i.e. a `pappl_system_t` object. You can use the callback function to customisably configure system properties using the <a href="../../pappl-system-utilities">PAPPL System Utilities</a>. This includes configuring Footer HTML on your web interface and setting up drivers.
56
56
57
57
You can refer [designing system callback](#systemcallback) guidelines for retrieving more information about the System Callback function.
58
58
@@ -348,7 +348,7 @@ ___
348
348
349
349
4. **Add system configurations**
350
350
351
-
The system object has tons of configurable attributes and correspondingly a huge number of PAPPL utilities to configure them. These include utilities like Setting Hostname, Setting the footer HTML for the web interface, etc. A detailed list of these function can be found at <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>.
351
+
The system object has tons of configurable attributes and correspondingly a huge number of PAPPL utilities to configure them. These include utilities like Setting Hostname, Setting the footer HTML for the web interface, etc. A detailed list of these function can be found at <a href="../../pappl-system-utilities">PAPPL System Utilities</a>.
352
352
353
353
354
354
5. **Call the [Driver setup function](#setup)**
@@ -1035,16 +1035,16 @@ They must be independent of order application start at boot or of device discove
Copy file name to clipboardExpand all lines: contents/documentation/03-designing-scanner-drivers.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,9 @@ h_range: [1,3]
10
10
11
11
## Introduction
12
12
13
-
A driver is code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless/) and so does Scanning, which means there is no need for any hardware-model-specific code or data.
13
+
A driver is code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](../../driverless) and so does Scanning, which means there is no need for any hardware-model-specific code or data.
14
14
15
-
Kindly refer to <ahref="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> to know more about Printer Applications and their designing. Designing Scanner Applications is very similar and expects the manufacturers to use the PAPPL framework to reduce their effort in implementing all things from scratch..
15
+
Kindly refer to <ahref="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> to know more about Printer Applications and their designing. Designing Scanner Applications is very similar and expects the manufacturers to use the PAPPL framework to reduce their effort in implementing all things from scratch..
16
16
17
17
## How a PAPPL-based Scanner Driver should work
18
18
@@ -50,7 +50,7 @@ The scanner interface returns a single page at a time as uncompressed (or lossle
50
50
51
51
PAPPL provides callbacks for most of the events including submitting print/scan jobs, querying printer/scanner status and capabilities, and so forth to reduce the manufacturer's workload and hence designing scanner applications is very much similar to designing printer applications. The only difference is the additional callback support provided for the scan command. Since this support is added in PAPPL, you as a manufacturer do not need to worry about this implementation as well.
52
52
53
-
Hence refer to <ahref="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> and follow the same for Designing Scanner Applications as well.
53
+
Hence refer to <ahref="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> and follow the same for Designing Scanner Applications as well.
54
54
55
55
## Example for PAPPL-based Scanner Driver
56
56
@@ -97,10 +97,10 @@ They must be independent of order application start at boot or of device discove
97
97
***sane-airscan in SANE Scanner Application must be built without IPP Scan to avoid recursive discovery infinite loop (“Scanner bomb”)**
98
98
99
99
## Resources
100
-
[1] <ahref="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a>
100
+
[1] <ahref="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a>
Copy file name to clipboardExpand all lines: contents/documentation/04-packaging-drivers.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ toc: true
4
4
toc_sticky: true
5
5
h_range: [1,3]
6
6
---
7
-
**This document contains a complete tutorial as well as information for manufacturers with examples for packaging printer/scanner drivers and releasing them to the Snap Store. If you are looking for information regarding the designing of printer/scanner drivers, kindly refer to <ahref="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> and <ahref="../03-designing-scanner-drivers/">Tutorial to Design Scanner Drivers</a> respectively.**
7
+
**This document contains a complete tutorial as well as information for manufacturers with examples for packaging printer/scanner drivers and releasing them to the Snap Store. If you are looking for information regarding the designing of printer/scanner drivers, kindly refer to <ahref="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> and <ahref="/documentation/03-designing-scanner-drivers">Tutorial to Design Scanner Drivers</a> respectively.**
8
8
9
9
<h2id="introduction"> Introduction </h2>
10
10
@@ -36,7 +36,7 @@ Most Snaps we create are driven using `snapcraft.yaml`. This file describes a sn
36
36
37
37
As a distributor, you would create a `snapcraft.yaml` file. This will be used by the `snapcraft` command to build your snap. Next, you would upload this `.snap` file to the Snap Store and release it on the stable channel.
38
38
39
-
To start building your snap, the initial step is to install snapcraft. Kindly refer the <ahref="https://snapcraft.io/docs/installing-snapcraft">installation guidelines</a> to follow the same.
39
+
To start building your snap, the initial step is to install snapcraft. Kindly refer the <ahref="https://documentation.ubuntu.com/snapcraft/9.0/how-to/set-up-snapcraft">installation guidelines</a> to follow the same.
40
40
41
41
After installation, navigate to the directory containing your application and use the following command.
42
42
@@ -291,9 +291,9 @@ Once you have a snap that works under strict or classic confinement, you’re re
291
291
The further steps are extensively covered in the official documentation of Snaps and can be located at <a href="https://snapcraft.io/docs/releasing-to-the-snap-store">Releasing to Snap Documentation</a>.
292
292
293
293
<h2 id="resources"> Resources </h2>
294
-
[1] <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a>
294
+
[1] <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a>
295
295
<br>
296
-
[2] <a href="../03-designing-scanner-drivers/">Tutorial to Design Scanner Drivers</a>
296
+
[2] <a href="/documentation/03-designing-scanner-drivers">Tutorial to Design Scanner Drivers</a>
0 commit comments