gpt4 book ai didi

pdf - 我可以在 Mathematica 8 中更改导出为 pdf 的设置吗?

转载 作者:行者123 更新时间:2023-12-04 14:26:58 26 4
gpt4 key购买 nike

我正在使用 Mathematica 绘制一些我需要的数字,然后将它们用作 Latex 中的 pdf。

问题是 Mathematica 使用 Acrobat 5.x 设置兼容性导出数字,我认为这会导致数字很大,没有优化,当我在最终的 pdf 中有几个时,有时只需要几分钟就可以打印一个最终文件的页面。

有没有办法在 Mathematica 中更改 pdf 的输出设置?
我应该导出为 pdf,转换为 postscripts,然后使用新设置从 .ps 创建新的 pdf 吗?
我应该导出 .eps 并转换为 pdf 吗?
是否有通过 Mathematica 创建优化 pdf 的一步法?

快速示例(有点夸张,因此差异非常明显):我从 Mathematica 导出的 pdf (Export["C:/figure.pdf", %]) 大小为 1065kb,.pdf ->.ps ->。 pdf 给出 652kb 的最终文件,.eps->.pdf 给出 610kb 的文件。
我不会在 latex 中使用任何这些,但它显示了设置的差异。

最佳答案

这是一个神话pdf->ps->pdf将始终为您提供较小的文件大小。例如,考虑

(在数学中)

fileName = "test.pdf";
p = DensityPlot[Sin[x] Sin[y], {x, -4, 4}, {y, -3, 3}];
Export[fileName, p];

(在 shell 中)
pdf2ps test.pdf && ps2pdf test.ps test1.pdf
test.pdf是 446kB,而 test1.pdf在我的机器上高达 11.5MB!

通常情况下,当您使用 Mathematica 导出 PDF 文件时,它会存储文本(轴刻度线、标签等)、字体和图像,所有这些都会添加到批量中。如果您有带有大量刻度线/标签的矢量图形,这些可能非常重要。做 pdf->ps->pdf将去除字体数据和文本数据的文件,同时压缩图像,这就是您看到文件大小减小的原因。虽然在小放大倍数下无法观察到,但是当您放大很多时您会注意到差异。例如,替换 p
p = Plot[Sin[t], {t, 0, 2 Pi}];

test.pdf 生成一个 37kB 的文件和 test1.pdf 的 8kB 文件在我的机器上。 8kb 文件的质量比原始文件差(放大到 600%+ 显示了这一点)。您可以通过执行以下操作来查看 mathematica 存储在 PDF 文件中的纯文本信息
Import[fileName,"Plaintext"]

但是,对于更复杂的PDF文件,转换为 ps然后回到 pdf不一定是一个好的选择,可能会导致文件大小爆炸。

您可以尝试使用 Export 中的 PDF 选项。 ,例如 "AllowRasterization"ImageResolution ,甚至在保存之前对图像进行光栅化,但我想您已经知道了。

这是一种从 mathematica 中减少文件大小的快速而肮脏的方法
Export[fileName, First@Import@Export[fileName, p]]

文件大小现在只有 12kB!它只有原始的三分之一,仅比从 pdf->ps->pdf 获得的略大,并且比 8kB 的质量要好得多(虽然与原始版本不完全相同。在 1200% 及以上的放大倍数下可以看到差异)。

发生的情况是,在导入和重新导出时,只会保存存储的图像。它的纯文本部分被丢弃了,在这个小例子中,这碰巧很重要。对于 DensityPlot例如,减少仅到 425kB(仍然下降而不是增加到 11MB)。

关于pdf - 我可以在 Mathematica 8 中更改导出为 pdf 的设置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com