因为觉得在电脑上读PDF文档太不舒服,最近买了台打印机把文档打印出来读。当然买的是最便宜的不支持双面打印的激光打印机。为了节省纸张我需要每张纸一面打印2×2的4页内容,反面也要打印。
当然pdf阅读器就支持2*2的打印,也可以设置要打印的页面。
我需要做的是:
1. 先打印纸张的一个面:在Pages里填写上 1-4,9-12,17-20等等。
2.打印完一面后将打印纸换个面打印另一面:在Pages里填写上 5-8,13-16,21-24等等。
那么怎么快速的得到一本几百页的文档的页面串了?
假设你有一本400页的文档,用VIM:
:for i in range(51) | call setline(i,(8*i-7).'-'.(8*i-4)) |endfor | %s/\n/,/g
生成:1-4,9-12,17-20,25-28,33-36,41-44,49-52,...,385-388,393-396,
另一面用:
:for i in range(51) | call setline(i,(8*i-3).'-'.(8*i)) |endfor | %s/\n/,/g
生成:5-8,13-16,21-24,29-32,37-40,45-48,53-56,...,389-392,397-400,
这个脚本分成两部分第一个部分是for循环语句使用range()函数和setline函数来输出行号;第二部分是将换行符\n,替换为逗号。