将大图像分成A4大小的图像

时间:2010-01-19 08:08:03

标签: image png split

我想将一个大的PNG文件拆分成A4页面,以便轻松打印出来。

我想使用Linux命令行脚本来执行此操作:

壳> split-into-a4-sized-pages some-big.png

5 个答案:

答案 0 :(得分:2)

尝试将imagemagick's crop用于所需的尺寸。

假设你有480x480 Lenna image

alt text

并且您想要将其裁剪为4个240x240图像:

alt text

使用:

convert Lenna.png -crop 240x240+0+0  crop_lenna.png

现在你必须找出适合打印机A4页面的像素数量,以及图像的尺寸,这是一个非常简单的脚本。

答案 1 :(得分:2)

我认为你有ImageMagick&已安装pdfposter

A)将.png转换为.pdf(使用ImageMagick)

convert input0.png input1.pdf

B)使用pdfposter平铺图像:

pdfposter -s4 input1.pdf out.pdf

此命令将input0正好放大4倍,在默认A4上打印 媒体,让pdfposter确定所需的页数。

答案 2 :(得分:0)

您可以使用ImageMagick转换来缩放图像;如果需要,ImageMagick中可能还有其他工具可以剪切图像。

答案 3 :(得分:0)

我不知道有任何现成的命令行工具来执行此操作。除非你一直使用它,否则ImageMagick可能需要更长时间才能找到正确的命令和选项组合,而不是编写一个快速程序。

一个简单的方法,如果你完全了解Python,就是使用PIL(Python Imaging Library)编写一个几行程序。读取图像需要一行。要在指定位置提取一些宽度和高度的块以保存为新的图像文件,也很容易。添加一对for循环来扫描A4大小的块的行和列,你就完成了。

如果您不了解Python,几乎所有快速编写的编程语言都具有类似的功能。想到了GD库;它具有多种语言的绑定。

答案 4 :(得分:0)

NetPBM's pamdice将拆分为多个页面。您必须根据所需A4图像的DPI设置-width和-height选项。

您还必须先使用pngtopam将输入图像转换为netpbm格式:

pngtopam big.png | pamdice -outstem tile -height h -width w

这将留下一堆名为tile_x_y.ppm的文件

使用pnmtopng

将其中每一个转换为PNG