From 3304b544388dd325a515e19deecfff4466cbefdf Mon Sep 17 00:00:00 2001 From: John Whitington Date: Sat, 8 Jan 2022 14:26:54 +0000 Subject: [PATCH] more --- Changes | 2 +- cpdfcommand.ml | 2 +- cpdfmanual.pdf | Bin 281931 -> 282044 bytes cpdfmanual.tex | 15 +++++++++++++-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 070ec03..8dba967 100644 --- a/Changes +++ b/Changes @@ -9,7 +9,7 @@ o New operations -impose and -impose-xy for document imposition o New operation -print-font-table gives (charcode, unicode, glyph name) triples o New -print-dict-entry operation prints values for a given key o New -replace-dict-entry function to search & replace e.g URLs -o Append e.g DUP2 to a page range to make 1,2,3 --> 1,1,2,2,3,3 etc. +o Prepend e.g 2DUP to a page range to make 1,2,3 --> 1,1,2,2,3,3 etc. o Prepend NOT to a page range to invert it o Output annotations in JSON form with -list-annotations-json o Output bookmarks in JSON format with -list-bookmarks-json diff --git a/cpdfcommand.ml b/cpdfcommand.ml index ccebf63..5e42c13 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -924,7 +924,7 @@ let setmethod s = if args.op = None then args.op <- Some Encrypt; (* Could be additional to -split *) match s with | "40bit" | "128bit" | "AES" | "AES256" | "AES256ISO" -> args.crypt_method <- s - | _ -> error "Unsupported encryption method" + | _ -> error ("Unsupported encryption method " ^ s) let setowner s = args.owner <- s diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index 71a62f4abe38ca2ce2f551cfbdfbcc036ac97499..e2f78df40d99f2158e264868a1c9e7fee6900f6f 100644 GIT binary patch delta 16496 zcmajEV{|4_(=Hs_w#_?ECbn(cHYUj(+qP|cV%z3K6DJe<%=3Kj`qq1XogZE6Ds*-C zURAqmS50N1_GF_rxCsDdT{i(JV>hoDy_m$8I>;B!)2^Ee$pBbuGrwIH8T+>bV z{9gJCP*@Wwrd+@aMAI>(|J#j?=g7kT{voaHjMSppgEVG2aB@@=uF zUaGtS=l$*JzAUfdXp(VR8MW}RQ;tfdWf4F`I_V*<$(sd%JO@biE8ClMb|o29-b)Ub z&!ntvb$_C?H9`syriDUEpei>r-N6ChrciZY0=GwD8&!os9w^3)RE#0ubYoDFLQgJs z&`MdQQ4%W2z-PDb$7C5TQ7^3#_mDj$e#n%Ene2;%#j;E8PvoTFZbrDRt`Ubx!Em=r z=U9!@Xc)e{{{bWd>#6dmnQRPuE4R9S>|S!w`p)I(R4#Y-1W`cU6XuQpA^feWY2&2F zwI8cZD8j%dxOG}_(Oh#eX$jwek0kjCXUsIsYp-|OcmE^%&%i!W-5esW=$|Hn6J~Qa zFK4jqU?X0VxMgM}2dV9pP!++wL=Jy!7Ap=6`+oYGn`5B-Vae(?KIx+_SG7d6u|c2H z(BYFt9tY;OamqE{k9e3|UK!C!pi3F>vmJ$WdFsMD+pm%yJNk?+}G8lz1;X=C%rfo`kd*5GUQ*=c1-(@5^ zgI1ERu~fi461gJlJj>+ns=Q5#)f9D%a>5}>(MI7!H8#H5Mf*@zz zNxei@U2=`91AkH#eX1Qw5dfBoyImMY`o*e5eF7*IehWE>&1gGs#XyTl7Gp{!e~6bo z`si&CpZk-!o4Hxqm|lFK;}5Cf^X8_$KGUVono%brRxM_v6m~#+8t4_8Pj>UVd#h%e z1ljU}FQJ-aG*)-qbJeb~RrP0al~0DnW3bHtOPgaO#CxdK)@GUK)tOB@yC14~EM4+V zs}vBWA3U*kLCuP8SZv9^OhNWxgE-;$BH>r*?vmiZVM@syEIPJuDu-yjmx^^wfj(aM z%+jw?LG7?PV~Z^{pGGpWZi$tx0yOxQ(7E^Db=o2vwWdEKkXF|6EX}v;rSYZf>D>Dr z4=Ym5PcL+(e~@lAk2FiOWY;E|6_IyJsJy6fSjSVuSB?2z^CMIt7Uf8 z7hDgP6<`TJKlFLZWEK@13QH^Pi8M*@x^I+?ozAIajTlegX|Q%S09h?O&}3 zva^YA9Q^wZ8ki!z))^LJ;BnQ%vla7`E5Z~7C1I1riTK|m!=;=DQe37s{~XTjtue3~ zh&2$aW_FB{N2Zv_xSHJUR^~;~K&Pr4tI4RQ!5gVlFdU#^R>wUK+2>GAFx5e+#!+40 zeA|zKFLVhAAdO}nSOY%`&(^JtP13RJLCY+cP&2XRPLf z4)dV;C?l;9U9=9vND$eWq8Ul?25U|&wu^n|-h1s0 zowhSA2?FfpIDW6k4KdDnmhow|p`z(DA}qgngy)5)9+EUU!U3zF>lXu?#cDc(R_SJn zyTPqK3$0@zYgrqALTSd9xiYhAfsZ%;20TSs8aV4LwJ^qABQmvwodg;39XJa53V~T> zaU;E$@9|xe9vVH&qDJj32Le1iPDP+qgvxNy`3$R3zQ;05Kg^)E9(FE|?7=HyN<$6m z9Y5k0GS9?ETY$2pT&7KBNQKqtwlr~5?_U!jp={e6vgCCcY9v4Gvc(#g-wsf`is0*}7=`S;N|YM){qPZd_}b*v7;Y?&3)hsKv4HLp!d*d)%&Y+be zl3#bYWPn9MNiZ}N_!*#ROndSxRyJ1BGNrRu=_ehx&vxVd@!TVeoUtSI9(#hGQgE+L znRZ8Puvf5dk2V{PoJJjMoasEtK1>}6Ual7Hp z+EcKF2d_rE=LT}<8UcMmRBOtjnm?6fyG{M@d1pN7ljL`=nB_*%SE=Z#-44u zvDzFcUoVqdr;VG z7O1f?u})^9Hb>GYGTuBfP?LeRu6@#O z?WGc~IzTr_9b2N8YS6VQuz_pM2cSr5u*xd1dEp}sa#+RPOuVu&R>)Tai5s5IVJvDN zvjyh!Iw{C!nxkq+-7^6j*uQUv;$=;=4OG1}c!Py~{~L+rrQ1nur`1+l{|im#8#-Rk zDE3u_DDH}JkCg2oL%%I!9IYSJa#5dkqb6~jBjCmE*W^z}THIcdN<=r`AQg)9MuO*( zJGM$skZlf!7RxgQ7FuuU9H&MJcy7Z#5B3~7B?Y^W5b|V&xETkw96DxrLM>kI+dxqC zcVRCuQi19SL)ycwm9s5zpn1RAuU|h>RlPL`3UJ?4`jw))oYv@V&$+IDX?UM9hkX6 z=IvzKyH&IRffD>!hCL*=+Ym7~x4L_+!%PicG}%~^b3cJJ5KkfW^e{BYKoNr4VQDi4 z9G+Xt^+S^@Tm!1sB!q40JbGI`bC}#~iF@;5QFR2uWpVbgh*^()xpGl+tCKt^jGt$r zT4jFTNIM+5jvp_n!Ra6`V@AKsXWeT8U; z)ti0Mnp->r>j}suGz~jH)ST-qMnG-5nr|Hkz0u%z z;qQBP^Q4RWsJ^Nb&1ykhv*zpfbVb+5H{VWF-)@QeOE>~n%3a@~j}Y0|uQTxlus z#QIkyDvekUrLj7AvK=16hCfjQ9gY=}KT`R&le^ zGMwGh4r-SOHek@(rqf0387xxJvW@?QcidnJIaSk%kjg*$hN@lR-v<6A_zXvV@w@dv<68kn&{emF~bMxp!OZT9hA zxm@MR{sj584CL^qx$^pyi-wxiLnRGYMHvl(_8P_f0Sg1-+{49P$WF9Ru@>EhU|7lI zDyE{8)w~QYPkJ{FN38T|3#|~bXTrGs-1p_APpsU}BT}(aSNdA?@=}90bT9?8P@Ut*s|!ONbZ4M|bx4aW%S?WU@dTi;gj05d&z$}4!p_uY ztK&C(ir1}TWMt5BeC>}E4*G(I6s*<7eDOqSu;cCc0odR5F@TTS7fFvMVT2z#_6Ik(hu=omjDcbi}}0PQp)95<+1w-PNw4QN)O7*eZvVl7Jo? z9JuxX)IWFkm%MIG`+@s8WUK2~DX2^oS?0kLDMdUvJ7h9ogoTe!GYGJwktnUZaDIfo zXPf&Rf)Ws?;c`kCF!C749#nO`|rr@fcX53|fv+>!KLkJ;?hwKEgyxTo-Jn?OS2i~Ofu`@O(`l|-|B zGE;uvoDu1BJPG{1ipBgg(uWRepV9KRIn2lwC={8NWg@f1#@J`Qzt^#4jIBEKe|75J z5ZcGXx3f34Gq=@aH=uy+jCQGA%O|x*5tijA9dgN>Pd~HE?Yxq5dGKW}OxCv1GPF5h zolHWy$6QUev4Q4YT3t(!Rb$bX-Yd>0e9z5t8rIGV0pYITW)^v)o*ql9S#5*t(eBM! zoSpuxx7yax-=X?h(*hYxp=-E(J*YnQ3jna#g?45M4p^~}j1)1}&{13?U~!VamilV7 zhmYFQlU4zYdQ-J$JFA61grYM_blvW|s1Rw2Vre&=Gw>{~UyRh4-3KYyxB_SN^#g<` zTs9y$u84l=5q=E&ouzEekF2se!)yqK572 z^HUKu0XAZjIN_kewXdkMCNEmp|27<;i*GK|8jP9uWVfb=Qb5lsRZl&M2CinMJM)Zv zF2`Ywe{K8`uipiTth>)Fsh!sBxCiYsF!l8jmhuk56QU6{_GR<|-w{F32^0+Pup0;u zNOw5QST)_LTwf}@Dp1oYz;w3&fQ|VtNJA`X(DG*9=_@2~E>_n69zfFf|A4{*Z>46m zV0KC3+*Rh-*{(`r9i)-i#dUL}N<>s#at-$&v3#YQ>@;~mAsV9n{JZyOexL8uwj@$& zxDqm6lTW}N^DPD?4NqD%#`F#|Wcum)`g%_7k2|Tr$X7^{MTPIyFWP6XHS=h)W0`Sk zW{u`AhW9uRYxXhM`RlQ8%aNY|nUtNN)kB<7&9keS_pDk%YU5EU2dNf{1v?@s4#i|7 z+u{TaKl#m#Gh+AA$Pfj`f+bYYDz%K957k!rWQ0%|bIEj)L%``}Va>r>C)%doH}q8T z<}Rw_w?3|61sO*gX(pUX1{*h9{TJ}zYkuglSSD%F8q2|?;@!NAu}K62OD{MSHr2H@ ze3o9Vm5DAfk3H6YKhT%@5~k(GI50%BIu7|}3NEvy4SSC<=xS~}j}=W!!1mEd$5?z1 zRfYGu6LfedJ37XhBns0Y>G6OMK&&rkST%yaGxihgF7MBvDi_S>0E){n2GZ|q=(c+7 zvUgRfZ_En7l@z$uwt5tRTSYEJjSNp^k9_!gLfF~>SIROb?qK-Qgvw&U;Tly`qPmo z!m*2U+8h3K*K$rncbvPQ!djk7ZL&nFj;b?4SXUxTR*hsJ4B7g#%_qx zGHQN{gTIN(2_W&S6AqU!kVqtG;Z_@>rz6w_8gs^$A|h)B7gBY*F8Znsx%F%2-h^wa zl`?Bn)1x`^ST*YPoQTQ4Fub$?Pq8fIbPAkrBBJ2;e%&YiwTnnpaQ9mhEE9HCr-T#; zx!^M{kdmGFQQ2X`_}eNQ^j1A~N`wn};joNeYB*mAmT(jOZ{<0<*6cvD9&Qn@@A|2` zu326b3+nq1p~F4`mqiMN=9*3K^YJ^CGH#PzJMZyuv(6#PxX0k zpzVH!5V_+|Vu;Q-W~{|bo}4TS?1w=Xo&lVF=0K_mxk7)lxKC?WJ-d)}|8##9Dnt3ZONpP&OeyN=0+KVEu~NjG(b^F5qm}q^-(* z5)xstgtJS#^IqDojbmaBzQ+;kjl<6>fsV=hvtg?&+c^UHu zm)QNz_fV)tiHM%Iny(EHq%c(NT64J}!6oRW+ErA=45Um0zl{&)`}!H+%pMm*!L4av zQi#Nlh)RkW$$_?>*N;#r-04qLB{XYHzOGbr5*%ug^_!^urJ3(IbEgE*chtmNTUIL) z2-GBRRL|9>3}`rn=unOr<$uRzuu9rO29c>Y`8M5JQ<))m>n6T`b;s=;_2vUN9&{2B zGH}q@AW>Q>_WQBWlX(D0-A){uXWeKKWJS7fh)QR&{5$zfxYuoOLI3JcQhuvtssQ`z~L&5$2kKN47eh9 zwN7{Djy8=F>{l9RaA)$&{!F2F3l+8TYG4y8&i&~PvGX~zjJI)5OUq!o^}-5wRklEV zbqh`2owu&0UluZO3MCI=8|cPfj2R?LM&@k?MW@L{GZf?s@(M}HLaq~KO4{8uawFfh z!+WC)29resdI2gf=PkzG&#~&B6q?z{spE2RbMU~A&&fDkFmc%l!0iR*i`hOTBJZoB^9#^GsIqgf z66VJk8@@9S&2o42XI}}_5;?izmZ^t1qEecFu9)38owM9L3-NR3USEF9+WmA4Bj`a5 z52s_Zzq_RV9qCZAvWieLDmpPwxLtt;_PtJ1hye%@>{$3_Tc75+n#UbR zR(cG{hoAwDcTFZ9`fRPvu+EB!U|0@`lykP)+|R2XACdVgRG)&9d#}Zh{Vdz=w%u%m zP%%x3d24kDrnjM!XLygdF_=stGZu4tER(|(_J}66t5fMI5`+7ik)t(}BTLIMpBz|} zjZ9M2NozhpmP%Q~CX<9-F@j{BizVN^zUZx&CBOz+oSuO!Yo~iFAC=->WYW66?e8)w zLE}0DT$eummR|zw-yYO8`QDQ(L}$Soc<1JF-yoJ6uL+b2sp`DGpjy<)`sQo})E5*L&;EGq0%aaA>!`RxxJPkS^+~gd(iBPwABi9=LtKm2UIOCewTqsbPz5PP_fPnzC z$P1#JRehS8R4gtxGAh0i?4<|_?Ij7=yc-%8>DcY_<;a0Md+W1>iO4zge_ycHo7VAsik`_u5!m^0vQokl7?^NRx`G}+Rm0uVje z_qV!hh+j?Rv(U2yo|)*m>__6mJrX)l{q;Vw*!Uar=}1}3Z)l3Scc4lt5jSgG^ zZQTdf3R>;N1^XR8jRzVD-s;;=rYkid)CI58`ej3HgqOyjWd#Pw2}u_(jhcgiM0=1$ zel89T;P~fHd#%|HA)f{BZ32lbn3>E8pjNU4@jD2_TpSR^)##VWbALRzQ_wZR2wAbz zjN~?}6blpEE}fc!5jjNrFzlW*l09TD$_y z`=VtHYyV~*3W0Sq9sFd{GgV+$`cOtKB{?py`wUDPrFOh>UMGYTG6DKu{JE>(CrbUr zK5;9*iHIG0-FQKYdYFAyG`SO`Kw4BI+0Dl$DO15Rw&nNXzImo!-KzXjtq~JZ#$tV; zW7>nG6XILc|LYFs6&p)~d|rJ%QtdWtWpBH@SKzt5;hN03N8vAjKI3=X_4zj_jFdom zGV=vB7$-}zvj!c|Pi^X7KL(}el-`RTQVoHajPgmNT|N*@I9Q^+4SKYQk+h9M%4PAx zFJ13PV{i-h&(^GsTt91dLp=k`G%br*_LAKM5mv@Xmz>v;7lbWDY&3HG7y+&9ut^PkH;* z?fRoGLL1(fP=ZxgukfM8`CEp(?Hf~YK17GdlAny128Lx@5=kmLDqM;Pias8dz4$qQ zNu6#yL&EbQTBI?=;W530K=9}Xlg&F&fRs_S=SMkmasKuqqTjs!d|CEb?$4|{Yfz4b zfZNOhfzB}?EjlLOtH1DA;?+)b9vcPLadNv@Fl?-Cw> zpZ#D3hRm<4H+L8v9G`Rv(34$$N<&}G#Yd2iI#B1EJ4m%e5~R>W(LcKJDRq*XOZH$! zhtvc=I#!1qxaDZE1*? zviWUOf-gk1W2=I;;bUrOT0_D49u6V=nn7cak=NK8#=41bq;yFQXetSMYI0VA@W89= zSxOebnV!`8CvgE83bzqt^S>5a)IiuBhQVf#{|E)iOG*mU`C&`WerXz}{uR;}qgAf9 zLb(GFh_^>4-=|o&*E^wg_0ebyv$i>(UDp@Cug9jF)=#5NS(S2lMc*u!ae5=w8xZ09 z9nZ^&nJn%+oJWZI&~2@9ntmz*K=~04A)B8tr)d>3ar1E@&2;)Jq7mudrS}IlHm>5? zZ&|-P?8q%W6*zMTGgmhkb7TAeAV(7$xMqvX3i-svXpX|*rX_nS#%u}gbr)THN{6PT zU<0gizYmfLt3@h-sxUP{d_kTR|DZ3d2=g1O%BK&al%T}~rcr?&8l7)7s8VoM#57|C zjfPS}bioSvMIJ~)%|1^$G|e#tKDr)N&B_Ov-?Xfd3XUlrPorf100X`Xcen{gYwR&{ zn6{6!U7QAhI?$M69TuPYNP|#_`2)a8wkl5pYwl<9nz~HHg~pPrNCUTgPIs<;!2k(> z4^XZSq(@O5;yzb}ai|>7k}*Ob9N$%v+jOcXrGfm<4bZhIGlJ!$0|Dueu8KDmMu^bHgK@`K$_ijp z7akgrNWe97g9>8})CqRYM6E1^`x*!){nDEUU$+vXg!=7bjgxts0_GHq(j+Ma!<)^` zhKLAEo)yw_0QtAsN#D-*D>$#`yo-SU>=-%XM8PFz3Wk{k@ZvDwe&LlX!C7!JS!rD$ z1gF6j#ITi|sRAT43Lx=B8ZTXLCGJ5PQ>eV>t>gjhx9X9faK)e$awPV3+qgY7AS^g$ zI`Bml!y52u0mjnH=cK1GP;SP!@wP*Z)0)6+RS*>$aFCpSTNgN?_Ad6D;~9=scvD7!o43>Ii^r>#k#ip{@1asdO~>6{pPnz2*$)xtd>j57 zz%XXs$T>ZJH!&0Q8qT?$)?x=MgY~!I4H5rlmQTaQ8+LoWW7rq7BlGw5+t@`lS2eKO zILdAJd-;1?kf*rtP(gn?gpG#lArSSAc#V0j5Qx{? z{c^GLp1q)1N>%6=-CINPRSX);HCL#Kd#X+;iDeRp<@sEfNsV zdZ0&ZuUDf;MZ(0=(tMwuU&jWea}jawdHJ@q;8x=5T%rZo#Jlju-90^#MwZX|iFd?f z-=VSmy*K`bgI9H>xG*bE{}vW8ubjPeM@pp*HMgCFUWjPs$ntOs^pYRVB^NNYP5T}i z1Yi1R&6}teQ>bD&Yn5m6f<{q|$23Hw4VBDOZ9aNQkw9WF`vz@wh8cvOJ#uj~9YI?D)0ivf$J zFayQ)4};pEYEE#CRh#_EdN&=APjoBaeY&sDq&KqbsszQ&#-i%8Tzy1mDk?5DDwfta zW3Ojo-Q>r=W$W93Hv*cyzfu;Tc(;uPeF zv5WVl@yz*DD8mfCRZ$bOxO+kw=>%40Li}(vZI|oD?)Q90!pHP

q>Nmn)lMQ_Iu0@XhHZ`Bc-G7y&yKnc6?hI5cF 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 delta 16381 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 m|Nr%I+nYI}|!2JgoHaz$M diff --git a/cpdfmanual.tex b/cpdfmanual.tex index 341dd5c..6537ce2 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -810,9 +810,9 @@ If the malformity lies inside an individual page of the PDF, rather than in its \noindent The command line for \texttt{-gs-malformed-force} must be of \textit{precisely} this form. Sometimes, on the other hand, we might wish \texttt{cpdf} to fail immediately on any malformed file, rather than try its own reconstruction process. The option \texttt{-error-on-malformed} achieves this. -Sometimes files can be technically well-formed but use inefficient PDF +Sometimes (old, pre-ISO standardisation) files can be technically well-formed but use inefficient PDF constructs. If you are sure the input files you are using are -impeccably formed, the \texttt{-fast} option may be added to the command line (or, if +well formed, the \texttt{-fast} option may be added to the command line (or, if using \texttt{AND}, to each section of the command line). This will use certain shortcuts which speed up processing, but would fail on badly-produced files. The \verb!-fast! option may be used with: @@ -1103,6 +1103,9 @@ The encryption parameters described in Chapter \ref{encryption} may be added to \vspace{1.5mm} \small\noindent\verb!cpdf -rotateby in.pdf [] -o out.pdf! + \vspace{1.5mm} + \small\noindent\verb!cpdf -upright [-fast] in.pdf [] -o out.pdf! + \vspace{1.5mm} \small\noindent\verb!cpdf -rotate-contents [-fast] in.pdf [] -o out.pdf! @@ -1282,6 +1285,14 @@ ninety degrees clockwise. Does not change the page dimensions. \texttt{-rotate} and \texttt{-rotate-contents} is required to change the rotation of the document to zero without altering its appearance. In addition, it makes sure the media box has its origin at (0,0), changing other boxes to compensate. This is important because some operations in CPDF (such as scale-to-fit), and in other PDF-processing programs, work properly only when the origin is (0, 0). + \begin{framed} + \small\verb!cpdf -upright in.pdf -o out.pdf! + + \vspace{2.5mm} + + \noindent Make pages upright. + \end{framed} + \section{Flipping Pages} \index{flip pages} The \texttt{-hflip} and \texttt{-vflip} operations flip the contents of the