Valentyna, and anyone else affected, could you attach a sample djvu file
and also instructions how you print the djvu file, so that we can
reproduce the problem and perhaps improve the patch somewhat? This is
especially important as we want to carry on the CUPS filters when CUPS
will not use PPD files any more.

As the Ghostscript call you are modifying does not more than counting
the pages (there is another one for the actual rasterization) could you
also try to modify the patch by not calling cupsRasterInterpretPPD() for
extracting the default page size from the PPD and instead, simply insert
arbitrary height and width, like "-dDEVICEWIDTHPOINTS=612
-dDEVICEHEIGHTPOINTS=792"? This would allow you to remove the "if (ppd)"
and so your fix would also work for using the filter without PPD.

Could you try this out? Do you still get fast execution and correct page
counts (= filter outputs all pages)?

** Changed in: cups-filters (Ubuntu)
       Status: Confirmed => Incomplete

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to cups-filters in Ubuntu.
https://bugs.launchpad.net/bugs/1920730

Title:
  gstoraster: Ghostscript runs to long while converting djvu files to
  Xerox`s 3210  format

Status in cups-filters package in Ubuntu:
  Incomplete

Bug description:
  My OS:
  Description:  Ubuntu 20.04.2 LTS
  Release:      20.04

  Package version: cups-filters version 1.27.4-1

  When I try to print djvu files on my Xerox WorkCentre 3210 gstoraster filter, 
which calls ghostscript inside runs to long while converting djvu files to 
Xerox`s 3210 format.
  E.x.: For 155 pages of djvu files, it runs more then 15 minutes.

  I found a solution by adding -dDEVICEWIDTHPOINTS -dDEVICEHEIGHTPOINTS params 
to ghostscript command inside gstoraster filter. Now the time of converting the 
same file is about 30 seconds.
  I`ve made patch which solves this problem.

  --- a/filter/gstoraster.c
  +++ b/filter/gstoraster.c
  @@ -733,8 +733,17 @@
       char output[31] = "";
       int pagecount;
       size_t bytes;
  -    snprintf(gscommand, 65536, "%s -q -dNOPAUSE -dBATCH -sDEVICE=bbox %s 
2>&1 | grep -c HiResBoundingBox",
  -          CUPS_GHOSTSCRIPT, filename);
  +    // Ghostscript runs to long while converting djvu files to Xerox`s 3210 
format
  +    // Using -dDEVICEWIDTHPOINTS -dDEVICEHEIGHTPOINTS params solves the 
problem
  +    if (ppd) {
  +      cupsRasterInterpretPPD(&h,ppd,num_options,options,0);
  +      snprintf(gscommand, 65536, "%s -q -dNOPAUSE -dBATCH 
-dDEVICEWIDTHPOINTS=%d -dDEVICEHEIGHTPOINTS=%d -sDEVICE=bbox %s 2>&1 | grep -c 
HiResBoundingBox",
  +         CUPS_GHOSTSCRIPT, h.PageSize[0], h.PageSize[1], filename);
  +    }
  +    else {
  +      snprintf(gscommand, 65536, "%s -q -dNOPAUSE -dBATCH -sDEVICE=bbox %s 
2>&1 | grep -c HiResBoundingBox",
  +         CUPS_GHOSTSCRIPT, filename);
  +    }
   
       FILE *pd = popen(gscommand, "r");
       if (!pd) {

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/1920730/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to