Default paper format for printing

Asked by Carniolian

When printing, evince by default automatically resizes the document to the US letter format,
regardless of the actual format of the document or printer driver settings. Of course, one can
adjust the format in Print Setup, but this has to be done every time we open the document.
Is there any way to change the default paper format once and for all?

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu evince Edit question
Assignee:
No assignee Edit question
Solved by:
Pascal De Vuyst
Solved:
Last query:
Last reply:
Revision history for this message
Ralph Janke (txwikinger) said :
#1

Thanks for the question.

I am not 100% sure if I understand your description correctly. You say that evince resizes document to US letter format that are originally A4? I cannot see this behaviour. If I look at property it shows exactly the size of the page of the document I open.

The paper size for the printing is not set by evince, but the printer driver not the application since the paper format usually does not change between applications. You should set the default to A4 in your printer driver.

I hope this helps.

Revision history for this message
Carniolian (martin-raic) said :
#2

Thanks for your answer, Ralph.

However, I regret to say that this does not solve my problem.
In File -> Properties, everything looks fine (i. e., paper size A4, portrait).
But when looking at File -> Print Setup, the paper size is set to US letter
(and has to be changed to A4 every time I open the document, otherwise
the document is resized in the printing process; this also happens when
selecting Print to File (PS): the resulting PS document has the size of US
letter), Evince wants to print in the US letter size in spite of the fact that
the default paper size in my CUPS printer driver is set to A4.

Btw, I am using Kubuntu Feisty Fawn.

Revision history for this message
Antonio Pérez-Aranda Alcaide (ant30) said :
#3

You can modify the follow files:
/etc/papersize (only add the standard name of your paper, like a4) The names of formats can see with command "man papersize" on terminal/console .
/etc/paper.config (you can add new formats, more technics info required)

Revision history for this message
Carniolian (martin-raic) said :
#4

Many thanks, Antonio!

However, in my /etc/papersize, there was already a line with my favorite
paper size, i. e., a4.
I looked up "man papersize". According to it, I added two new environment
variables: in ~/.profile, I added:

export PAPERSIZE="a4"
export PAPERCONF="/home/myself/.papersize"

and in ~/.papersize, I wrote a4.

There was no file /etc/paper.config . Somewhere, I found an example
of such a file, and I created a file with:

[Paper]
A4={595.27559 841.88976 80 80 80 80}

Unfortunately, all in vain.

Revision history for this message
Ralph Janke (txwikinger) said :
#5

Go to KMenu->Sytstem Settings then Computer Administration->Printers. Right-click on your printer and select Configure. In the newly opened window change your paper size from letter to A4.

Revision history for this message
Carniolian (martin-raic) said :
#6

Thanks, Ralph, but I have already done that.

Revision history for this message
Pascal De Vuyst (pascal-devuyst) said :
#7

What does the following command return:
$ grep "DefaultPageSize" /etc/cups/ppd/*.ppd

Can you attach the output of the printingbug info script, it can be found here: https://wiki.ubuntu.com/PrintingBugInfoScript.

Revision history for this message
Carniolian (martin-raic) said :
#8

Thanks, Pascal!

Here is the additional information you have asked for:

~/tmp$ grep "DefaultPageSize" /etc/cups/ppd/*.ppd
*DefaultPageSize: A4
~/tmp$ ./printingbuginfo
printingbuginfo.txt succesfully created.
~/tmp$ cat printingbuginfo.txt
== System information ==
Ubuntu Release : 7.04 (feisty)
Desktop Environment: KDE
Architecture : i686
Kernel : 2.6.20-15-generic
Locale : LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8, LC_PAPER=en_US.UTF-8
/etc/papersize : a4

== Configured printers ==
PCL6_lj4dith: Generic PCL 6/PCL XL Printer Foomatic/lj4dith
device for PCL6_lj4dith: usb://Lexmark/E120

== Installed versions of important printing packages ==
ii cupsys 1.2.8-0ubuntu8 Common UNIX Printing System(tm) - server
ii cupsys-driver-gutenprint 5.0.0.99.1-0ubuntu2 printer drivers for CUPS
ii foo2zjs 20061224-0ubuntu3 Support for printing to ZjStream-based print
ii foomatic-db 20070327-0ubuntu1 OpenPrinting printer support - database
ii foomatic-db-engine 3.0.2-20070303-0ubuntu1 OpenPrinting printer support - programs
ii foomatic-db-hpijs 20070327-0ubuntu1 OpenPrinting printer support - database for
ii foomatic-filters 3.0.2-20070323-0ubuntu1 OpenPrinting printer support - filters
ii gs-common 0.3.11ubuntu1 Common files for different Ghostscript relea
ii gs-esp 8.15.4.dfsg.1-0ubuntu1 The Ghostscript PostScript interpreter - ESP
ii gs-esp-x 8.15.4.dfsg.1-0ubuntu1 The Ghostscript PostScript interpreter - ESP
ii gutenprint 5.0.0.99.1-4 Gutenprint - Top Quality Printer Drivers
ii hpijs 2.7.2+1.7.3-0ubuntu1 HP Linux Printing and Imaging - gs IJS drive
ii hplip 1.7.3-0ubuntu1 HP Linux Printing and Imaging System (HPLIP)
ii kdeprint 3.5.6-0ubuntu20 print system for KDE
ii min12xxw 0.0.9-1build1 Printer driver for KonicaMinolta PagePro 1[2
ii openprinting-ppds 20070327-0ubuntu1 OpenPrinting printer support - PostScript PP
ii pnm2ppa 1.12-16 PPM to PPA converter

Created with printingbuginfo script v1.5 (https://wiki.ubuntu.com/PrintingBugInfoScript)
Mon, 21 May 2007 22:53:10 +0200

Revision history for this message
Best Pascal De Vuyst (pascal-devuyst) said :
#9

This is because evince uses the value of the LC_PAPER locale setting, for en_US.UTF-8 this defaults to letter.
You can override this setting by using an LC_PAPER environment variable, if you want to do the change system wide you can add LC_PAPER="en_GB.UTF-8" (defaults to A4) to /etc/environment and log out and back into GNOME.

Revision history for this message
Pascal De Vuyst (pascal-devuyst) said :
#10

Sorry meant KDE instead of GNOME.

Revision history for this message
Carniolian (martin-raic) said :
#11

Many thanks indeed, Pascal! I added

export LC_PAPER="en_GB.UTF_8"

to ~/.profile and it works perfectly! It is a little bit weird that evince
determines the paper SIZE from a COUNTRY setting (and not from
a size setting, like the one in /etc/papersize). In my opinion, this
should be changed in future.

Best regards

Carniolian

Revision history for this message
kWahab (kwahab) said :
#12

Thanks!!!
Had the exact same problem
The exact same solution worked
Have the exact same comments about linking paper size to country (even after changing so many files).

Revision history for this message
marius (marius-beteredingen) said :
#13

Finally!

I have the same problem on Ubuntu Feisty Fawn and it is really annoying that the document and printer settings are completely ignored when printing a document. Evince might cleverly deduce the most probably papersize from a country setting if there are no document and printer settings, but it should not do this by default.

The solution mentioned here works for me too.

Revision history for this message
Pascal De Vuyst (pascal-devuyst) said :
#14

Isn't letter size paper the default paper size in the US?

The problem here is that paper size can be retrieved by applications from 2 locations: /etc/papersize or LC_PAPER environment variable.
If applications only used one of the above the issue would be solved.
I believe all programs should make use of LC_PAPER, as it handles other locale settings like number formatting, date/time formatting, ...

Revision history for this message
Timon_and_Pumba (timonterbraak) said :
#15

I had the same problem. It is not clear at all that the papersize is determined by the country setting.

For example:
I am from Holland, and standard we use the "US International" keyboard layout. Besides that it is not weird to set an operating system to English. But we DO use standard a4 size paper.

For a long I thought that setting /etc/papersize had to do the trick. So, it might be a nice feature of Evince (although confusing), but perhaps /etc/papersize should get precedence over the country setting?

Revision history for this message
Alvin Abdagić (alvin.abdagic) said :
#16

In response to Carniolian:

Don't set:
export LC_PAPER="en_GB.UTF_8"
in .profile, instead set:
export LC_PAPER="en_GB.UTF-8"

Notice the difference in the underscore and dash. I just copied and pasted that line in .profile, and cost me quite a bit of debugging. First I noticed that my Printing administration applet stopped to work, and latter many other perl programs.

Revision history for this message
Michael Cummings (mcummings) said :
#17

Thanks! Just got bit by this 'feature' in Gutsy, appreciate the info.

Revision history for this message
Wouter (woutervanwijk-netscape) said :
#18

I have the same problem. To fix Bug #1, these kind of things should be correct by default. Not by editing some text file (again)...

Revision history for this message
thorseth (anders-thorseth) said :
#19

I have had this problem too, only the other way around - coming from Europe and moving to the US the printer was set to a4 and had to be set every time. I agree with Wouter that this should be fixed. Editing hidden files with "strange" commands, to do the most simple task is a big problem for the linux desktop. By the way is this going to be addressed or not?

Revision history for this message
thorseth (anders-thorseth) said :
#20

I have submitted a bug report with this problem,

https://bugs.launchpad.net/ubuntu/+source/evince/+bug/224882

with a link to this thread and a quote from Pascal for the technical description, I hope it's not a problem.

Revision history for this message
Mekk (marcin-kasperski) said :
#21

Ugh, I just googled this and finally resolved long-time problem ... Once every 2-3 prints I locked our printer by trying to print in letter size.....
I quadruple checked every papersize settings I found anywhere, recursively grepped /etc .gnome and such for 'letter', and couldn't find a solution.

PS I am Polish but I use US locale as I do not like the Polish translation of system commands, and some tools/scripts tend to go awry when ls -l, date and such return non-typical output.

Revision history for this message
Kishore Deva (kishore) said :
#22

Another solution that worked for me was to add

export LC_PAPER=a4 to my /.bashrc

Revision history for this message
Gunnar Thielebein (lorem-ipsum) said :
#23

I have set LC_PAPER="de_DE-UTF-8" in /etc/environment and restartet but locale still
shows me that:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8" -> still old format
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Is it something with setting LC_ALL ?

Revision history for this message
Arthur (moz-liebesgedichte) said :
#24

I have the same problem as Gunnar. Even though the environment variable LC_PAPER is set to fi_FI.UTF-8, the command 'locale' still says LC_PAPER="en_US.UTF-8".

Revision history for this message
massemanet (masse) said :
#25

LC_ALL will override the others.
Try
unset LC_ALL
in your login file

Revision history for this message
Marco Hunsicker (ubuntu-triemax) said :
#26

Adding

    export LC_PAPER=a4

to $HOME/.profile

did the trick for me on Ubuntu Hardy

Revision history for this message
nixy (nixy) said :
#27

Would that work for other standard paper sizes such as A1 (e.g. export LC_PAPER=a1)?