当我将一个多页pdf文件(我想到的文件包含艺术作品的图像,每页一个)导入Mathematica 8.0.1时
book = Import [“simple.pdf”]
Mathematica返回一个图形对象列表,每个页面对应一个。我在每个页面上执行了一些操作,然后想要将更改的页面保存回单个PDF文件
导出[“DistortedSimple.pdf”,distortedbook]
生成的文件包含单个页面上的所有图像。有没有一种方便的方法将图像列表导出为PDF,每页一个?
答案 0 :(得分:5)
(嗨凯文!)
我刚评价过:
Print[ExampleData[#]] & /@ Take[ExampleData["TestImage"], 6]
Export["Desktop/Kevin.pdf", EvaluationNotebook[]]
使用V8.0.1 for OS X,生成的PDF分为四页。因此,我认为您最好的方法是(以编程方式)创建已修改图像的笔记本,然后导出该笔记本。
答案 1 :(得分:4)
Export
似乎不可能,无论我使用Pages
元素多少(除了其他人给出的基于笔记本的解决方案)。
另一种选择是install pdftk(我们将用来组装页面的相对较小的命令行工具),并使用以下Mathematica函数:
exportMultipagePDF[name_String, g_List, options___] :=
Module[
{fileNames, quote},
quote[s_] := "\"" <> s <> "\"";
fileNames =
Table[
FileNameJoin[{$TemporaryDirectory, "mmapage" <> IntegerString[i] <> ".pdf"}],
{i, Length[g]}
];
Check[
Export[#1, #2, "PDF", options] & @@@ Thread[{fileNames, g}],
Return[$Failed]
];
If[
Run["pdftk", Sequence @@ (quote /@ fileNames), "cat output", name] =!= 0,
Return[$Failed]
];
DeleteFile /@ fileNames;
]
在Windows上,我需要在将文件名传递给PDFtk之前引用文件名。我不了解其他平台,希望它不会造成任何麻烦。
尝试
exportMultipagePDF["test.pdf", Table[Graphics[{Hue[x], Disk[]}], {x, 0, 1, .2}]]
答案 2 :(得分:3)
尝试将笔记本保存为PDF,而不是将该组单元格导出为PDF格式。
编辑:
为确保您可以在任意位置设置分页符,请将“屏幕环境”设置为“打印”(可以通过menu command或programmatically执行此操作),然后使用relevant menu command插入分页符。这个guide page可能会有所帮助。
根据您的评论,您需要为转换后的图片设置ImageSize
选项,以确保它在屏幕上显示时所需的尺寸。