如何在不损失质量的情况下减小.pdf大小


23

背景

我想减小填充有图像的.pdf的大小。在保存之前Preview可以将球型罩Export设置Quartz Filter-> Reduce File Size好。

预览导出

问题

该文件确实从30MB减少到0.37MB。

但是结果质量很差,几乎无法读取图像。

我看到了Image Magic用于实现该目标的示例-但是可以通过Preview来完成,而无需任何外部软件吗?


Answers:


34

问题是-转换期间使用的默认过滤器的转换设置非常低。

幸运的是,可以添加自定义过滤器。

逐步添加自定义过滤器

  1. 创建新目录(如果没有)- /Library/Filters
  2. 在此处添加具有唯一过滤器的新过滤器文件-fe Reduce Size with good quality.qfilter
  3. 该文件应包含带有新过滤器的XML-您可以基于该/System/Library/Filters/Reduce File Size.qfilter文件或使用下面的示例。更改压缩设置,图像大小并为过滤器添加唯一的显示名称。

过滤文件结构/示例

我用评论标记了关键设置。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Domains</key>
    <dict>
        <key>Applications</key>
        <true/>
        <key>Printing</key>
        <true/>
    </dict>
    <key>FilterData</key>
    <dict>
        <key>ColorSettings</key>
        <dict>
            <key>DocumentColorSettings</key>
            <dict>
                <key>CustomLHSCorrection</key>
                <array>
                    <integer>8</integer>
                    <integer>8</integer>
                    <integer>8</integer>
                </array>
            </dict>
            <key>ImageSettings</key>
            <dict>
                <key>Compression Quality</key>
    <!-- ====== Set your custom quality <0,1> ======= -->
                <real>0.75</real>
                <key>ImageCompression</key>
                <string>ImageJPEGCompress</string>
                <key>ImageScaleSettings</key>
                <dict>
                    <key>ImageScaleFactor</key>
    <!-- ====== Set your scale factor <0,1> ======= -->                 
                    <real>0.75</real>
                    <key>ImageScaleInterpolate</key>
                    <true/>
    <!-- ====== Set what sizes your images can reach ======= -->                    
                    <key>ImageSizeMax</key>
                    <integer>1684</integer>
                    <key>ImageSizeMin</key>
                    <integer>1200</integer>
                </dict>
            </dict>
        </dict>
    </dict>
    <key>FilterType</key>
    <integer>1</integer>
    <key>Name</key>
<!-- ====== Set unique display name for your filter ======= -->
    <string>Reduce Size Good Quality</string>
</dict>
</plist>

结果

导出文件时选择新的过滤器。

在此处输入图片说明


有用的文章:


19

您可以使用Apple内置的ColorSync Utility创建自己的滤镜以减少PDF中图像数据的大小。然后在“预览”的“导出”中选择“过滤器”。

(注意:出于某种原因,“导出为PDF”不显示过滤器,但是选择“ PDF”作为文件格式的“导出”。)

在此处输入图片说明


它就像一个魅力!值得一提的是,原始过滤器无法修改,您必须复制原始过滤器并命名,然后才可以对其进行更改。
远端

(通过在ColorSync Utility列表中双击名称来重命名。)所得的滤镜最终以〜/ Library / Filters结尾(至少在Catalina中);如果出于某种原因它需要在系统范围内可用,请将其移至/ System / Library / Filters /。
JLundell '19

1
@JLundell您无法写入/ System。您可以将其粘贴在/ Library / Filters中供所有用户使用。
benwiggy

比编辑XML文件还要简单!谢谢
webofmars

谢谢!此解决方案也适用于新版本的Catalina 10.15.3。使用此版本,您将无法在“文件夹系统/库/过滤器”中编辑或添加文件,因此它似乎是目前唯一可用的解决方案。
Bman72

4

预览的功能非常有限。(尽管@michalczukm的答案对于简单的文档可能是值得尝试的,例如那些结构不多,没有书签的PDF。此外:虽然您可能无法从视觉上看出质量损失,但这仍然是一个有损程序,但设置较不积极然后是原始的石英过滤器。)

建议您尝试使用Image Magick Preview 代替:

  • Adobe Acrobat(昂贵)

或自由/免费

  • GhostScript具有以下参数:

    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 -dNOPAUSE -dQUIET -dPDFSETTINGS=/prepress -sOutputFile=Name_of_Outputfile.pdf To_Reduce_Input.pdf

您可以使用这些设置。此处给出的内容不应执行任何有损的转换或剥离重要的文档结构。含义:大多数情况下节省的费用可能非常好,但有时文件大小甚至会增加。

Ghostscript可通过许多macOS场所使用。相关的muPDF甚至可以在App Store上获得

如果您自己创建了PDF,那么显然最好在将图像包括到文档(PDF)中之前无损地缩小图像。根据适用于预期输出介质的像素数/分辨率来调整图像大小可能会产生最大的节省。


对于更大,更复杂的场景,ghostscript的用法看起来很棒。对于简单的文档(这就是我的情况),过滤器可以快速使用并且足够好。PS注意到问题和第一个答案都是我的:)
michalczukm

2

您可以使用以下网站:https : //smallpdf.com/compress-pdf将PDF缩小到非常小的尺寸。即使压缩后,PDF的质量仍然非常好。


好的平台,但对我而言却超时4k页PDF(3+ GB)>“压缩PDF文件花费的时间太长。当前最大压缩时间限制为10分钟。”
philshem

到目前为止,我已经在试用模式下简要使用了该功能。从服务菜单中在Finder中批量压缩PDF,节省大量空间(在专业模式下)。非常方便!价格为每月11.60美元或每年105美元
卡斯滕·西尔兹


0

如果您使用的PDF是1.6或1.7版,则可以在“预览”中使用重复设置。预览会将文件另存为1.4 pdf,并节省大约50%的文件大小。据我所知,没有质量损失。无需使用导出-减小文件大小,除非您想进一步节省。


好的,对于某些要打印的文档,这可能行得通。但是推理是值得怀疑的。通常,增加PDF版本可实现更好的压缩等。您是否意识到以这种方式使用Preview会造成损失,例如re:文档结构:例如,您会松散书签吗?
LаngLаngС

我只是在描述使用预览和PDF的一些发现。我不明白为什么这样做会如此,但这是我所学到的
。– jmh

好吧,我无法通过更新的预览版重复进行此操作。我不知道发生了什么事。我确信我之前的分析是正确的。
jmh

我相信您的观察是正确的(“解释”可能不正确)。这就是为什么此A仍然可以&值得一试的原因。那里有很多非常糟糕的 PDF。即使是真正的大型发行商。(您是否尝试过使用相同的PDF,但是使用了更新的Preview?)由于PDF规范本身是一团糟:除了确保从一开始就控制创建之外,几乎每次都必须尝试“最佳”方法…
LаngLаngС18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.