我想将一个大的PNG文件拆分成A4页面,以便轻松打印出来。
我想使用Linux命令行脚本来执行此操作:
壳> split-into-a4-sized-pages some-big.png
答案 0 :(得分:2)
尝试将imagemagick's crop用于所需的尺寸。
假设你有480x480 Lenna image:
并且您想要将其裁剪为4个240x240图像:
使用:
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