首页/文章/ 详情

pdz格式转pdf格式最详细使用方法汇总

7月前浏览10842

本文摘要(由AI生成):

文章主要介绍了两种解决pdz格式用虚拟打印机转换pdf文件出现空白页的方法。第一种方法是使用XPS打印,将pdz文件转换为xps文件,再将xps文件转换为pdf文件。第二种方法是使用按键精灵软件进行自动化保存图片,将pdz文件转换为bmp文件,再将bmp文件转换为pdf文件。文章还介绍了如何使用FastStone_Image_Viewer软件进行批量重命名和批量转换,以及如何使用Python进行图片合并处理。


  本期过冷水会给大家分享最最最实用的解决pdz格式用虚拟打印机转换pdf文件方法出现空白页,另外一种pdz转换pdf的方法。

    过冷水一直有在超星学习通上搜索资料的习惯,很多实用的中文教材书籍都能够在这上面找到,是非常实用的网址,http://erya.mooc.chaoxing.com/

图片1.png

    前段时间遇到了一个很简单的问题,超星上下载的书籍是pdz格式的,只能用超星阅读器打开,需要转成pdf。

    正常情况下用阅读器看也还好,如果有打印需求就有点麻烦,需要转成pdf。所以网上就有大量的关于pdz转pdf的方法总结,过冷水尝试了常见方法,发现有弊端,为了和大家一起避雷,就总结出来了最最最合理实用的转换教程。

1 pdzxpspdf

    该方法是网上流传最广的方法,过冷水刚开始也是实用该方法进行pdf转换,具体实现方法是:

    在阅读器中打开一本书,单击鼠标左键选择打印:

图片4.png


    选择打印页数:

图片5.png

    选择XPS打印,然后将其保存成xps格式的文件

图片6.png

image.png

打开生成的.xps文件,重复上述操作,打印保存,不同的是这次选择pdf打印,保存的自然就是pdf文件。

image.png

    这个方案是网上搜索出来最多的方法。当时过冷水一直有一个疑问,为什么要选择.xps文件文件作为中间文件,而不能直接生成pdf文件?过冷水尝试过很多次都失败了。参看搜索了很多,很多案例都终于找到解决办法。

    打印的时候可以选择pdf虚拟打印机,可是需要对虚拟打印机改名字,比如154,如果不改名字,超星是不能识别打印保存的 。

image.png

    上述方法很实用。可是有一天过冷水发现该方法失效了,它不能做到全文打印,一本书数前几页可以打印,后面的都是空白。

图片7.png

常见方法行不通了,需要摸索新方法

image.png

    这是网上流传的另外一种方法,首先说明该方法不实用。过冷水当时是拒绝安装虚拟打印机的,可是又没有办法,于是只能用安装了,可是安装好后还是不可以。

图片8.png

    这个方法也是行不通的,出来后也是白页很多。过冷水总结发现其实是超星对虚拟打印的方法有可能有限制,没有办法成功保存文档。经过大量摸索过冷水测试出来了第二种绝对绝对有效的方法.

2 pdzbmppdf 不使用虚拟打印机

所需要的全部文件由于仿真秀附件大小限制,已经全部上传至仿真秀QQ群文件。

image.png

首先用超星阅读器打开我们需要的文章,选择合适的大小(影响文件清晰度)、选择连续页模式:

image.png

然后使用按键精灵软件进行自动化保存图片

image.png

这里需要在按键精灵中建立一个固定脚本(亲测可用)。

image.png

//纯后台代码,挂着就行,不影响鼠标键盘使用
//F5启动调试
//F10运行,你将在【超星阅读器】内看到文档在不断向下滚动
//F12停止
//
Hwnd = Plugin.Window.Find("ssReader", 0)
//
TracePrint Hwnd
//
Call Plugin.Bkgnd.LeftClick(Hwnd,0,0)
//
Do
//
Call Plugin.Bkgnd.KeyPress(Hwnd, 40)
//
Delay 1
Loop


    你就会发现在C:\Users\当前登录的windows账户名\AppData\Local\Temp\buffer 会有一系列图片。我们这个时候就完成了 内容转图片的过程,接下来就是 bmppdf

image.png

这个时候需要再使用一个软件FastStone_Image_Viewer用于实现pdf的转换。

image.png

Ctrl A全选,任意图上右键->工具:

image.png

先做一次【批量重命名】,再做一次【批量转换】(bmp转pdf)

image.png

image.png

image.png

image.png

至此我们完成了bmp→pdf的过程。可是我们不可能一个一个文件打开看啊!还需做合并处理,在此过冷水推荐使用python做图片合并处理。这里需要说明一下因为生成的pdfw文件名排序有问题,不能一次性合并,合并后1_2文件会排在1_19后面,这样就会乱,所以需要分开合并

1-9页合并程序

import PyPDF2
import os
pdfFiles=[]
for filename in os.listdir('.'):
    if filename.endswith('.pdf'):
        pdfFiles.append(filename)
#pdfFiles.sort(key=str.lower)
pdfWriter=PyPDF2.PdfFileWriter()
for filename in pdfFiles:
    pdfFileobj=open(filename,'rb')
    pdfReader=PyPDF2.PdfFileReader(pdfFileobj)
    for pageNum in range(0,pdfReader.numPages):
        pageobj=pdfReader.getPage(pageNum)
        pdfWriter.addPage(pageobj)
pdfout=open('1.pdf','wb')
pdfWriter.write(pdfout)
pdfout.close()

10-186页合并

import PyPDF2
import os
pdfFiles=[]
for filename in os.listdir('.'):
    if filename.endswith('.pdf'):
        pdfFiles.append(filename)
#pdfFiles.sort(key=str.lower)
pdfWriter=PyPDF2.PdfFileWriter()
for filename in pdfFiles:
    pdfFileobj=open(filename,'rb')
    pdfReader=PyPDF2.PdfFileReader(pdfFileobj)
    for pageNum in range(0,pdfReader.numPages):
        pageobj=pdfReader.getPage(pageNum)
        pdfWriter.addPage(pageobj)
pdfout=open('2.pdf','wb')
pdfWriter.write(pdfout)
pdfout.close()

完整合并程序

import PyPDF2
import os
pdfFiles=[]
for filename in os.listdir('.'):
    if filename.endswith('.pdf'):
        pdfFiles.append(filename)
#pdfFiles.sort(key=str.lower)
pdfWriter=PyPDF2.PdfFileWriter()
for filename in pdfFiles:
    pdfFileobj=open(filename,'rb')
    pdfReader=PyPDF2.PdfFileReader(pdfFileobj)
    for pageNum in range(0,pdfReader.numPages):
        pageobj=pdfReader.getPage(pageNum)
        pdfWriter.addPage(pageobj)
pdfout=open('当世界还小.pdf','wb')
pdfWriter.write(pdfout)
pdfout.close()

image.png

    过冷水尝试了无数遍才实现该方法的完整转换,想在有可能有很多人有和我同样的困惑,特整理出该教程为大家提供方便。有实际需求的可以尝试。


附件

100积分FastStone_Image_Viewer_xp510.zip
MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-06-02
最近编辑:7月前
过冷水
博士 | 讲师 讨论号:927550334
获赞 361粉丝 184文章 107课程 11
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈