我的PDF文档有很多页面595x420 ppi,但我需要在595x210中推送这些页面,但所有文本都必须可见。
那么..我可以不成比例地改变PDF页面的比例(没有缩放)以适应ghostscript的页面自定义大小,或者我必须使用另一个程序吗?
答案 0 :(得分:1)
如果要将缩放应用于一个轴而不是另一个轴,则必须进行一些PostScript编程。在/ghostpdl/Resource/Init/pdf_main.ps中是计算所需矩阵的代码:
/pdf_PDF2PS_matrix { % <pdfpagedict> -- matrix
matrix currentmatrix matrix setmatrix exch
% stack: savedCTM <pdfpagedict>
dup get_any_box
% stack: savedCTM <pdfpagedict> /Trim|Crop|Art|MediaBox <Trim|Crop|Art|Media Box>
oforce_elems normrect_elems fix_empty_rect_elems 4 array astore
//systemdict /PDFFitPage known {
PDFDEBUG { (Fiting PDF to imageable area of the page.) = flush } if
该代码计算x和y比例值并使它们相同。如果您希望它们不同,那就是您必须修改的内容。请注意,您还必须使用-dDEVICEHEIGHTPOINTS
和-dDEVICEWIDTHPOINTS
设置特定媒体尺寸,并设置-dFIXEDMEDIA
以防止PDF文件调整媒体大小。