书籍打印装订

书籍打印装订

自己有pdf,但更想打印成纸质书阅读。本文介绍一种排版、装订的方法。

常见的打钱纸为A4尺寸的,直接打印pdf往往会使得字号过大、文字颜色太浅,边距过大。

经过笔者亲自尝试,推荐一种排版、装订的方式:

1、使用k2pdfopt工具进行裁边、字色加深

2、上述pdf内容转图片

3、按排版次序,重命名上述图片文件

4、插入上述图片到横排的word文档

5、使用虚拟打印机,打印上述文档为竖排pdf

6、对上述竖排pdf的偶数页进行180度旋转

7、将打印好的纸张对折,按内容次序叠放

8、使用502胶水侧面粘合

最终成品:

image.png

步骤详述:

1、使用k2pdfopt工具进行裁边、字色加深

下载地址https://willus.com/k2pdfopt/

windows版本有操作界面,mac/linux为命令行

运行后按图中,输入参数(-mode tm -n- -c-)、回车、文件路径、回车

image.png

等待处理完成后,所在目录下会创建出处理后的pdf文件

2、找一些在线网站或pdf转图片工具。转换出图片

如果有golang的编程环境,可以执行以下代码

package main

import (

"fmt"

"image/jpeg"

"os"

"path"

"path/filepath"

"strings"

"github.com/karmdip-mi/go-fitz"

)

func main() {

var files []string

root := "/private/var/spool/pdfwriter/wangdongxiao/"

err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {

if filepath.Ext(path) == ".pdf" {

files = append(files, path)

}

return nil

})

if err != nil {

panic(err)

}

for _, file := range files {

doc, err := fitz.New(file)

if err != nil {

panic(err)

}

folder := strings.TrimSuffix(path.Base(file), filepath.Ext(path.Base(file)))

// Extract pages as images

for n := 0; n < doc.NumPage(); n++ {

img, err := doc.Image(n)

if err != nil {

panic(err)

}

err = os.MkdirAll("img/"+folder, 0755)

if err != nil {

panic(err)

}

f, err := os.Create(filepath.Join("img/"+folder+"/", fmt.Sprintf("image-%05d.jpg", n)))

if err != nil {

panic(err)

}

err = jpeg.Encode(f, img, &jpeg.Options{Quality: jpeg.DefaultQuality})

if err != nil {

panic(err)

}

f.Close()

}

}

}

3、按排版次序,重命名上述图片文件

由于需要在每张a4纸上,正反共打印4页内容,这4页的次序为4-1-2-3,对折装订后正好为内容次序

image.png

可按这个规则编写以下程序,在浏览器console中输出重命名的命令,mac/linux 为mv, windows为rename

ret = ""

offset = {"0":3,"1":-1,"2":-1,"3":-1}

for (i = 8 - 8; i <= 250 - 8; i++) {

var curIdx = ((i + 8 + offset[i % 4])-1)

ret += "mv image-00" + Math.floor(((curIdx/100))) + Math.floor(((curIdx/10)%10)) + Math.floor(((curIdx%10)))

ret += ".jpg new_" + (1000+i) + ".jpg"

ret += "\n"

}

console.log(ret)

image.png

4、插入上述图片到横排的word文档

1)新建文档,页面设置为横排

image.png

2)双击标尺,在弹出的页边距设置里,修改4个边距,其中右边距先设置大于一半的值(也可直接拖动标尺)。其目的是让word在插入图片时,自动去缩放图片为最终需要的大小。

image.png

3)插入上文中的图片

image.png

image.png

4)重新修改右边距与在边距相同

image.png

至此已经完成了,若打印机正常支持横向打印+双面打印,就可以直接打印了。

为了适应某些不支持横向打印的设备,可以再额外处理为竖排(5、6的步骤,可按实际情况省略)

5、使用虚拟打印机,打印上述文档为竖排pdf

mac下可安装https://github.com/rodyager/RWTS-PDFwriter/releases

虚拟打印出pdf文件

6、对上述竖排pdf的偶数页进行180度旋转

image.png

image.png

依次选取每张偶数页,点击两次90度旋转

7、将打印好的纸张对折,按内容次序叠放

对折叠放时注意保持内容次序

8、使用502胶水侧面粘合

若打算进行订书机装订,需要注意在4-2中,对右边距适当增大,保证纸张中心有足够的空白区。

相关推荐