All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tobias Hoffmann <lprint-list@thax.hardliners.org>
To: Alex Korobkin <korobkin+op@gmail.com>
Cc: "printing-architecture@lists.linux-foundation.org"
	<printing-architecture@lists.linux-foundation.org>,
	Till Kamppeter <till.kamppeter@gmail.com>
Subject: Re: [Printing-architecture] Number of copies in pure PDF workflow
Date: Wed, 15 Oct 2014 12:50:16 +0200	[thread overview]
Message-ID: <543E5168.9010108@thax.hardliners.org> (raw)
In-Reply-To: <543D9108.6050307@thax.hardliners.org>

[-- Attachment #1: Type: text/plain, Size: 2342 bytes --]

On 14/10/14 23:09, Tobias Hoffmann wrote:
> On 14/10/14 21:17, Alex Korobkin wrote:
>> Shouldn't pdftopdf just insert PJL SET COPIES=X without any related 
>> code in PPD? PJL SET COPIES seems to be a standard PJL command.
>

Hmm, the biggest problem seems to be that everything from ppd->jcl_begin 
(i.e. for PCL: "\033%-12345X@") until ppd->jcl_ps (set to 
*JCLToPDFInterpreter in pdftopdf, i.e."ENTER LANGUAGE") is written by 
cups's ppdEmitJCL() function.
As far as I understand it, this are the options:

a) stick to what cups provides in terms of PPD settings (and probably 
move the Copies replacement code before ppdEmitJCL),

b) patch cups, namely ppdEmitJCL() in emit.c.
   As cups does detect PCL as JCL here and sets "JOB NAME", "DISPLAY" or 
"RDYMSG DISPLAY" that would be the best place to add PJL SET COPIES.
   But this will affect all PPDs with JCL, e.g. when pure PostScript is 
used... and, in case the patch is not accepted upstream, cups-filters 
has to ship it(?)

c) do not use ppdEmitJCL at all. We would loose e.g. JOB NAME, but have 
better control over the output...
   If you don't set *JCLToPDFInterpreter, and use *pdftopdfJCLBegin, 
together with more pdftopdfJCL* keywords, this could work. The current 
emitJCLOptions implementation does not insert newlines, though. I'm not 
sure if the PPD value could instead contain it, instead...
   I think Koji Otani only used the pdftopdfJCL* insertion to pass stuff 
to pdftoopvp, in a format that only used one line, separated by ";".
   One of his examples is:
>   *OpenUI *PageSize/Page Size: PickOne
>   *DefaultPageSize: A4
>   *PageSize A4/A4:
>   *pdftopdfJCLPageSize A4/A4: "PS=A4;"
>   *PageSize Letter/US Letter:
>   *pdftopdfJCLPageSize Letter/US Letter: "PS=LT;"
>   *CloseUI: *PageSize
   I do not understand his original design fully, yet.

d) We can try a hacky workaround: In pdftopdf_jcl.c, emitPreamble(), set 
ppd->jcl_ps to an empty string. Then ppdEmitJCL will not skip JCL 
processing all together, but it also will not write ENTER LANGUAGE at 
the end. But it will result in an empty line. Would that be a problem in 
PCL? After that we can write SET COPIES and ENTER LANGUAGE ourselves.
Or something like ppd->jcl_ps=concat("...SET COPIES...\n", 
JCLToPDFInterpreter->value) ?

And yes, Till basically has to decide how to proceed.

   Tobias

[-- Attachment #2: Type: text/html, Size: 3367 bytes --]

  reply	other threads:[~2014-10-15 10:50 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-03 19:28 [Printing-architecture] Number of copies in pure PDF workflow Alex Korobkin
2014-10-03 19:49 ` Ira McDonald
2014-10-03 20:23   ` Alex Korobkin
2014-10-04 15:40 ` Michael Sweet
2014-10-04 17:36   ` Alex Korobkin
2014-10-04 19:47     ` Tobias Hoffmann
2014-10-05  4:58       ` Alex Korobkin
2014-10-04 19:48     ` Michael Sweet
2014-10-05  5:03       ` Alex Korobkin
2014-10-06 14:12         ` Michael Sweet
2014-10-06 15:07           ` Alex Korobkin
2014-10-06 15:32             ` Michael Sweet
2014-10-06 15:55               ` Alex Korobkin
2014-10-06 16:01                 ` Michael Sweet
2014-10-07 11:49               ` Till Kamppeter
2014-10-07 11:55                 ` Michael Sweet
2014-10-07 12:12                   ` Till Kamppeter
2014-10-06 12:54       ` Till Kamppeter
2014-10-06 14:06         ` Alex Korobkin
2014-10-07 14:06           ` Alex Korobkin
2014-10-07 20:03           ` Till Kamppeter
2014-10-07 21:18             ` Alex Korobkin
2014-10-07 21:45               ` Tobias Hoffmann
2014-10-08  2:53                 ` Alex Korobkin
2014-10-08  9:57                 ` Till Kamppeter
2014-10-08 14:40                   ` Tobias Hoffmann
2014-10-08 19:41                     ` Alex Korobkin
2014-10-08 20:53                       ` Tobias Hoffmann
2014-10-10 18:38                         ` Alex Korobkin
2014-10-10 20:06                           ` Tobias Hoffmann
2014-10-10 20:58                             ` Till Kamppeter
2014-10-14 19:17                               ` Alex Korobkin
2014-10-14 21:09                                 ` Tobias Hoffmann
2014-10-15 10:50                                   ` Tobias Hoffmann [this message]
2014-10-15 13:12                                     ` Till Kamppeter
2014-10-15 15:04                                       ` Till Kamppeter
2014-10-15 16:17                                       ` Till Kamppeter
2014-10-15 19:28                                         ` Tobias Hoffmann
2014-10-16 15:53                                           ` Till Kamppeter
2014-10-16 16:52                                           ` Alex Korobkin
2014-10-16 20:59                                             ` Tobias Hoffmann
2014-10-17 16:22                                               ` Alex Korobkin
2014-10-17 16:40                                                 ` Till Kamppeter
2014-10-20 16:23                                                   ` Alex Korobkin
2014-10-20 16:29                                                     ` Till Kamppeter
2014-10-20 17:28                                                       ` Alex Korobkin
2014-10-20 20:30                                                         ` Till Kamppeter
2014-10-20 21:18                                                           ` Alex Korobkin
2014-10-15 16:22                                       ` Tobias Hoffmann
2014-10-15 17:06                                         ` Alex Korobkin
2014-10-15 19:02                                           ` Tobias Hoffmann
2014-10-15 19:16                                             ` Tobias Hoffmann
2014-10-07 22:40             ` Michael Sweet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543E5168.9010108@thax.hardliners.org \
    --to=lprint-list@thax.hardliners.org \
    --cc=korobkin+op@gmail.com \
    --cc=printing-architecture@lists.linux-foundation.org \
    --cc=till.kamppeter@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.