Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a problem with opening PDF files in Acrobat Reader. It comes up with error 131.

I have solved this issue thanks to How to overcome Acrobat Reader error 131 with a pdfLaTeX doc? The solution to include \pdfminorversion=4 works for me, but it's inconvenient to remember about it in every document.

So I have two questions, not being a tex superuser:

  • how to force this setting globally?
  • how to overcome this error in another way?

I believe it's somehow related to different images formats I use, but I am not sure yet.

On the other hand, should I really care about v1.5? I don't use neither forms nor multimedia, I don't need any file certification.

share|improve this question
    
As I already commented on your other question: I can not recommend your workaround. Fix your problems with Adobe Reader or your graphics instead. –  Martin Schröder Oct 19 '12 at 17:21
    
Well, while I'm a tex newbie and this happens for me only when I use a certain beamer style, It's kinda hard to produce the simplest example. But I'll try and post my research someday ;-) –  Piotr Zierhoffer Oct 20 '12 at 8:13
add comment

1 Answer

up vote 17 down vote accepted

TeX Live

pdftexconfig.tex contains these settings. You can locate it via kpsewhich:

kpsewhich pdftexconfig.tex

Then you can put a copy in the local or home texmf tree. After putting it in the local texmf tree, you need to recreate the file name database:

texhash

In the file you can change the settings:

\pdfminorversion=4
\pdfobjcompresslevel=0

Finally the formats need to be recreated:

fmtutil --all

or those that are using pdftexconfig.tex:

fmtutil --byengine pdftex
fmtutil --byengine luatex

MiKTeX (updated with Ulrike Fischer's comment)

MiKTeX uses pdftexconfig.tex for the format generation. It can be found via

`kpsewhich pdftexconfig.tex`.

Example:

...\AppData\Roaming\MiKTeX\2.9\tex\generic\config\pdftexconfig.tex

This file is a generated file, example:

%%% DO NOT EDIT THIS FILE! It will be overwritten.
%%% Run 'initexmf --edit-config-file pdftex' to edit configuration settings
%%% for pdfTeX.
\pdfcompresslevel=9
\pdfdecimaldigits=3
\pdfhorigin=1 true in
\pdfoutput=1
\pdfpageheight=297 true mm
\pdfpagewidth=210 true mm
\pdfminorversion=5
\pdfpkresolution=600
\pdfvorigin=1 true in

Thus initexmf --edit-config-file pdftex opens an editor (notepad) for the file pdftex.cfg, the default contains:

%% pdfTeX configuration file. Run 'mthelp pdftexcfg' for parameter help.

The command mthelp pdftexcfg opens the manual page for pdftex.cfg. For example, add the line

pdf_minorversion 4

The creation of a format file (see below) will trigger the writing of pdftexconfig.tex from pdftex.cfg and it will contain the following line

\pdfminorversion=4

appended at the end after the default settings.

All formats (memory dump files) can be regenerated by

initexmf --dump

Or the dump files that are using pdftexconfig.tex can be selected manually:

initexmf --dump=pdftex
initexmf --dump=pdflatex
initexmf --dump=luatex
initexmf --dump=lualatex

Perhaps you need to try admin mode: Add --admin to the command line calls.

This more "official" procedure has one drawback, \pdfobjcompresslevel seems not to be supported by pdftex.cfg.


For the latter case the older precedure based on the comments of Speravir might work1:

A local texmf tree (root tree) is needed: Create a local texmf tree in MiKTeX

Then the file pdftexconfig from the MiKTeX distribution tree is copied to the new local tree (the starting points of the paths ... need to be adjusted, texmf.new is the local texmf tree):

copy ...\miktex-2.9\tex\generic\config\pdftexconfig.tex  ...\texmf.new\tex\generic\config\pdftexconfig.tex

The file name database needs to be updated:

initexmf --update-fndb

If the file is not found in the right location:

kpsewhich pdftexconfig.tex

then admin mode might be needed (see below).

The file can be edited to change the value of \pdfobjcompresslevel, for example (see description for TeX Live above).

At last the format files need to be regenerated (see above).

1It did not work for my single user installation of MiKTeX, because the user configuration directory is used before the local texmf tree and the modified pdftexconfig.tex is not used.

share|improve this answer
    
@Speravir Thanks. pdflatex and lualatex also needed for MiKTeX, the option --dump expects the format name. –  Heiko Oberdiek Oct 19 '12 at 16:02
    
Aah. BTW 1: initexmf --dump --engine=pdftex won’t work in the wanted manner – it will create all format files (the same of course for --engine=luatex). BTW 2: I wrote about differences about administrative and user mode in MiKTeX, but Ulrike wasn’t fully happy with it: tex.stackexchange.com/questions/67712/… –  Speravir Oct 19 '12 at 16:51
    
Deleted all my comments, which are used for answer. –  Speravir Oct 19 '12 at 16:54
    
@Speravir Without an option (--dump=<key>) --dump recreates all formats. –  Heiko Oberdiek Oct 19 '12 at 17:26
    
Yes, it was only to show, that the --engine option does not work here. –  Speravir Oct 19 '12 at 18:18
show 4 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.