deepak0405 [Mon, 3 Jun 2019 06:34:20 +0000 (12:04 +0530)]
cups-browsed : Added Better debug statements for merged printer attributes
- When checking the printer in the cluster for the requested job, we check the job settings with the options supported by the printer.
We should not check that the document format of the job should be supported by the printer, as we will use pdftoippprinter filter and
convert the job document into the format supported by the printer.
deepak0405 [Mon, 20 May 2019 11:34:13 +0000 (17:04 +0530)]
ppdgenertor,cups-browsed : Improved coding style
- Corrected the pattern of for loop
- Using case-insensitive comparision whereever required
- Added Macro for "Auto" option
Till Kamppeter [Fri, 17 May 2019 21:46:22 +0000 (23:46 +0200)]
cups-browsed, implicitclass, driverless, libcupsfilters: General white space, indentation, and compiler warning clean-up after addition of printer auto-selection.
deepak0405 [Mon, 6 May 2019 22:06:44 +0000 (03:36 +0530)]
cups-browsed,ppdgenerator,implicitclass,driverless : Calling Functions for generating the Merged Attributes and Constraints.
- Added code from where the functions to generate the merged attribute and constraints were called.
- The function definition of ppdCreateFromIPP is changed to incorporate the changes required for the cluster,
- For eg. For cluster we need to send the default attributes from cups-browsed.
- Now we will be sending printer-uri,job-id,resolution,best pdl supported to the implicitclass backend.
- Added cupsFilter line such that cups converts the file to pdf before it gets into implicitclass backend.
deepak0405 [Mon, 6 May 2019 07:41:50 +0000 (13:11 +0530)]
implicitclass : Using pdftoippprinter filter and IPP Backend for filtering and sending the job
- Earlier the job was sent to the cups server unfiltered, now the job is directly sent to the printer.
- pdftoippprinter filter converts the pdf file to the best pdl supported by the printer
deepak0405 [Mon, 6 May 2019 06:28:26 +0000 (11:58 +0530)]
pdftoippprinter, cups-browsed : Filter code added
- Removed warnings from cups-browsed.c
- Added pdftoippprinter which converts the pdf job to the best priority pdf supported by the printer.
This file is just a copy of sys5ippprinter.c.
deepak0405 [Thu, 2 May 2019 19:57:45 +0000 (01:27 +0530)]
cups-browsed: Added Function to find the default setting of the cluster
- To find the default settings, we select a default printer based on the value of Throughput(pages per min), the default value of
cluster will be the default values of this printer.
- If this default printer doesn't support any attribute, but another printer in the cluster supports that attribute, then we will
use "Auto" as the default value for the cluster.
deepak0405 [Thu, 2 May 2019 17:47:22 +0000 (23:17 +0530)]
ppdgenerator : Making generate_sizes function which returns the sizes based on the printer attributes
- There was a need to call generate_sizes from cups-browsed to generate sizes for a particular printer.
- The *ColorDevice was wrong in some ppd file, because the ColorDevice option was missing from the IPP Response
of the remote cups queue. Now we decide whether the printer is coloured or not based on ColorModels supported
by the printer.
deepak0405 [Thu, 2 May 2019 17:19:14 +0000 (22:49 +0530)]
cups-browsed, implicitclass: Clustering remote cups queue and IPP Network printer
- Removed lines from cups-browsed which was inhibiting clustering of remote cups queue and IPP Network Printer
- Earlier the cupsFilter lines were omitted from ppd file, so job was sent unfiltered to the server, now the job
will be filtered by the implicitclass backend.
- Changed the cups functions for creating, sending, cancelling jobs to IPP Requests which are supported by both
remote cups queue and IPP Network Printer.
- Now cups-browsed considers both this type of printer equally
- Removed NickName in the ppd file
deepak0405 [Thu, 2 May 2019 15:40:11 +0000 (21:10 +0530)]
cups-browsed: Generating ppd for remote cups queue using IPP Request
- Earlier for remote cups queue the ppd file was obtained from the server.
- This commit facilitates generation of ppd file using IPP response for remote cups queue, as we were doing for IPP Printer.
Doxygen throws a warning: warning: the name `urf_decode.cpp' supplied as the second argument in the \file statement is not an input file
this is corrected. The information should be correct regardless whether or not it is used.
cups-browsed: Fix broken trailing space removal on "NickName".
The code tried to remove trailing spaces, but if there was
at least one trailing space, the last two characters of the
line were removed. This caused removal of the quotation mark
in case exactly one trailing space was present, breaking
the PPD and subsequently causing CUPS to mess up all queues
(even local ones).
Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
Dheeraj [Thu, 21 Mar 2019 12:31:43 +0000 (18:01 +0530)]
Add checks for processing gif.
Fixes #81. Fixes #82. Some checks are added so that program exits gracefully.
These checks are added according to the gifs given by @ocean1. Some other
corrupted gif may crash at some other part of the code.
Return type of flush_tile() function is changed to int.
When the input format is other than pdf(like ps), pdftopdf is unable to set orientation
for crop-to-fit and fill. New function is_landsape is added to get orientation
of input file and orientation is set accordingly.
dh [Fri, 22 Feb 2019 15:55:33 +0000 (21:25 +0530)]
Add crop-to-fit scaling feature.
Input file is cropped and printed. We don't do scaling in crop-to-fit.
Fixes #65. imagetoraster, imagetopdf and pdftopdf filters are mutually exclusive.
"-o fill" option is now equivalent to "print-scaling=fill".
dh [Mon, 18 Feb 2019 20:07:46 +0000 (01:37 +0530)]
Added print-scaling=fill functionality.
We need to crop the input files according to paper's aspect ratio. For
cropping images, a new function is added to cupsfilters/image.h.
For cropping pdf files QPDF is used. Fixes #65 .
After cropping PDF, it is printed using filtplot option to completely fill\
the page.
Stefan Brüns [Fri, 28 Dec 2018 18:24:36 +0000 (19:24 +0100)]
Support some more methods returning const
The return values of these methods should not be modified. Since poppler 0.70,
this is enforced for GfxFont::getCharName, and for State::getCTM since 0.72.
These methods now return const T*.
Stefan Brüns [Fri, 28 Dec 2018 17:47:56 +0000 (18:47 +0100)]
Raise minimum poppler version from 0.18 to 0.19
The releases where 2011-09-27 respectively 2012-03-01, i.e. a timeframe of
5 months. Differences between the two versions are responsible for the
majority of version dependent code.
The code in oprs/OPVPSplashClip.cxx was a no-op starting with 0.19, so
it can be removed as well.