mtx-context-fixpdf.tex /size: 2189 b    last modification: 2025-02-21 11:03
1%D \module
2%D   [       file=mtx-context-pdffix,
3%D        version=2024.5.12,
4%D          title=\CONTEXT\ Extra Trickry,
5%D       subtitle=Fixing PDF Files,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14\continuewhenlmtxmode
15
16% begin help
17%
18% usage: context --extra=fixpdf [options] filename.pdf
19%
20% --sort          : sort filename first
21% --compactor     : =prefix:name (compactors-prefix.lua)
22% --notracing     :
23% --nocompression :
24% --extrastyle    : =filename (overlay logo, set standard etc
25%
26% example: context --extra=fixpdf --compactor=yes filename.pdf
27%          context --extra=fixpdf --compactor=mine:one --extrastyle=foo filename.pdf
28%
29% end help
30
31\setupinteraction
32  [state=start]
33
34\doifelsesomething{\getdocumentargument{compactor}} {
35    \setupexternalfigures
36      [compact=\getdocumentargument{compactor},
37       interaction=data]
38}
39
40\doifnothing {\getdocumentargument{notracing}} {
41    \enabletrackers[graphics.fonts]
42    \enabletrackers[graphics.fixes]
43  % \enabletrackers[graphics.operators]
44}
45
46% \enabledirectives[graphics.pdf.recompress]
47
48\doifsomething {\getdocumentargument{nocompression}} {
49    \nopdfcompression
50}
51
52\doifsomething {\getdocumentargument{extrastyle}} {
53    \environment [\getdocumentargument{extrastyle}]
54}
55
56\starttext
57
58\doifelsenothing {\getdocumentfilename{1}} {
59    \startTEXpage
60        No file given.
61    \stopTEXpage
62} {
63    \setups{extra:before}
64
65    \getfiguredimensions[\getdocumentfilename{1}]
66
67    \dorecurse{\noffigurepages} {
68        \startTEXpage
69            \externalfigure[\getdocumentfilename{1}][page=#1]%
70        \stopTEXpage
71    }
72
73    \setups{extra:after}
74
75    \writestatus{converted}{}
76    \writestatus{converted}{file\space\space\space\space\space\space : \getdocumentfilename{1}}
77    \writestatus{converted}{compactor\space                          : \getdocumentargument{compactor}}
78    \writestatus{converted}{nofpages\space\space                     : \realfolio}
79    \writestatus{converted}{}
80
81}
82
83\stoptext
84