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.