From 8b51fa7ad57b7e196960b9353d8fb0ca3c4e383c Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Oct 11 2013 16:32:26 +0000 Subject: Fix PDF landscape printing (bug #768811). Resolves: rhbz#768811 --- diff --git a/cups-filters-pdf-landscape.patch b/cups-filters-pdf-landscape.patch new file mode 100644 index 0000000..5c9a776 --- /dev/null +++ b/cups-filters-pdf-landscape.patch @@ -0,0 +1,49 @@ +diff -up cups-filters-1.0.40/filter/pdftops.c.pdf-landscape cups-filters-1.0.40/filter/pdftops.c +--- cups-filters-1.0.40/filter/pdftops.c.pdf-landscape 2013-10-11 17:15:45.639623613 +0100 ++++ cups-filters-1.0.40/filter/pdftops.c 2013-10-11 17:22:41.517421905 +0100 +@@ -273,7 +273,6 @@ main(int argc, /* I - Number of comm + *pstops_options, /* Options for pstops filter */ + *pstops_end; /* End of pstops filter option */ + const char *cups_serverbin; /* CUPS_SERVERBIN environment variable */ +- const char *content_type; /* CONTENT_TYPE environment variable */ + #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) + struct sigaction action; /* Actions for POSIX signals */ + #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ +@@ -457,7 +456,6 @@ main(int argc, /* I - Number of comm + * Build the command-line for the pdftops or gs filter... + */ + +- content_type = getenv("CONTENT_TYPE"); + if (renderer == PDFTOPS) + { + pdf_argv[0] = (char *)"pdftops"; +@@ -646,25 +644,17 @@ main(int argc, /* I - Number of comm + else if ((renderer == PDFTOPS) || (renderer == PDFTOCAIRO)) + { + /* +- * Use the page sizes of the original PDF document, this way documents +- * which contain pages of different sizes can be printed correctly ++ * No options to add. Note: pdftopdf has already rotated pages ++ * for us. + */ +- +- /* Only do this for unprocessed PDF files */ +- if (content_type && !strstr (content_type, "/vnd.cups-")) +- pdf_argv[pdf_argc++] = (char *)"-origpagesizes"; + } + #endif /* HAVE_POPPLER_PDFTOPS_WITH_ORIGPAGESIZES */ + else if (renderer == ACROREAD) + { + /* +- * Use the page sizes of the original PDF document, this way documents +- * which contain pages of different sizes can be printed correctly ++ * No options to add. Note: pdftopdf has already rotated pages ++ * for us. + */ +- +- /* Only do this for unprocessed PDF files */ +- if (content_type && !strstr (content_type, "/vnd.cups-")) +- pdf_argv[pdf_argc++] = (char *)"-choosePaperByPDFPageSize"; + } + + /* diff --git a/cups-filters.spec b/cups-filters.spec index 0e36180..ca6b333 100644 --- a/cups-filters.spec +++ b/cups-filters.spec @@ -4,7 +4,7 @@ Summary: OpenPrinting CUPS filters and backends Name: cups-filters Version: 1.0.40 -Release: 1%{?dist} +Release: 2%{?dist} # For a breakdown of the licensing, see COPYING file # GPLv2: filters: commandto*, imagetoraster, pdftops, rasterto*, @@ -21,6 +21,8 @@ Group: System Environment/Base Url: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters Source0: http://www.openprinting.org/download/cups-filters/cups-filters-%{version}.tar.xz +Patch1: cups-filters-pdf-landscape.patch + Requires: cups-filters-libs%{?_isa} = %{version}-%{release} # Obsolete cups-php (bug #971741) @@ -102,6 +104,9 @@ This is the development package for OpenPrinting CUPS filters and backends. %prep %setup -q +# Fix PDF landscape printing (bug #768811). +%patch1 -p1 -b .pdf-landscape + %build # work-around Rpath ./autogen.sh @@ -220,6 +225,9 @@ fi %{_libdir}/libfontembed.so %changelog +* Fri Oct 11 2013 Tim Waugh - 1.0.40-2 +- Fix PDF landscape printing (bug #768811). + * Fri Oct 11 2013 Jiri Popelka - 1.0.40-1 - 1.0.40 - Use new "hybrid" pdftops renderer.