【问题标题】:GhostScript: Cropping multiple area of pdf in single reading?GhostScript:在单次阅读中裁剪 pdf 的多个区域?
【发布时间】:2020-03-31 10:00:36
【问题描述】:

我需要裁剪pdf的某些[不同区域的多次时间]区域并将其保存为图像。为此,我在我的 windows 系统中为 ghostscript[9.5] 使用以下命令:

    "C:\Program Files\gs\gs9.50\bin\gswin64c.exe" ^
-dSAFER -dBATCH -dNOPAUSE  ^
-dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^
-dDEVICEWIDTHPOINTS=238 -dDEVICEHEIGHTPOINTS=149.5 ^
-dFIXEDMEDIA -r600  -dDownScaleFactor=2 -sDEVICE=jpeg -o out1.jpeg ^
-c "<</PageOffset [ -64.2 40 ]>> setpagedevice" ^
-sPDFPassword=01011977 ^
-f "E:\PDFs\ECC\PDF_AESTRO.pdf"

"C:\Program Files\gs\gs9.50\bin\gswin64c.exe" ^
-dSAFER -dBATCH -dNOPAUSE  ^
-dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^
-dDEVICEWIDTHPOINTS=238 -dDEVICEHEIGHTPOINTS=149.5 ^
-dFIXEDMEDIA -r600  -dDownScaleFactor=2 -sDEVICE=jpeg -o out2.jpeg ^
-c "<</PageOffset [ -308.5 40 ]>> setpagedevice" ^
-sPDFPassword=01011977 ^
-f "E:\PDFs\ECC\PDF_AESTRO.pdf" 

上面的命令完成了他们的工作,并从该 pdf 中裁剪了这两个部分。 但这会为这项工作渲染两次相同的 pdf 并消耗时间,我想节省时间以加快处理速度,因为这将用于 myweb 应用程序的 firebase 功能。

如何在单次阅读 pdf 时将两个区域裁剪为图像?

【问题讨论】:

    标签: google-cloud-functions ghostscript


    【解决方案1】:

    直言不讳;你不能做你所要求的。要使相同的文件以不同的方式呈现,您需要以不同的方式呈现一次。

    路过;您不再需要指定 -dSAFER(从 9,50 版本开始),因为这是默认设置。如果你指定 -o(而不是 -sOutputFile),你不需要 -dBATCH 或 -dNOPAUSE,-o 包括这两者。

    鉴于您正在渲染为 JPEG,我个人不会打扰 GraphicsAlphaBits 或 TextAlphaBits,但这是个人喜好问题。

    【讨论】:

    • 感谢您的宝贵时间。我曾经使用我之前使用 Debeneu Lib 创建的桌面应用程序来完成这项工作,因为我只需要渲染/加载 pdf 一次,并且可以根据需要进行修改,它可以满足我的要求。但是因为我将尝试在我的网络应用程序中使用它,所以需要性能并且它最多可以节省几秒钟。感谢您提供有关 -dSafer -dBatch and -dNoPause 的信息,因为当我删除它们时它确实有所作为。但是对于Graphics and TextAlphaBits,我使用它们,因为它们对文本和图像起到抗锯齿的作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2019-01-15
    相关资源
    最近更新 更多