-
2021-11-16 14:06:22
使用Adobe将word转成pdf出现错误。
错误提示:
%%[ Error: invalidfont; OffendingCommand: show ]%%解决方法:
设置——打印机与扫描仪——管理(pdf打印机)——打印首选项——PDF设置——取消“仅依靠系统字体;不使用文档字体”更多相关内容 -
word转pdf、word导出、pdf加水印
2020-05-16 09:31:311、使用freemaker对模板解析填充数据导出word文档的功能 2、实现使用itext对word转pdf功能 3、实现了对pdf加水印功能 -
pdf与word互转软件
2019-01-09 11:21:09可对pdf和word进行互相转换 -
word转pdf 出错,求指点
2016-12-09 11:34:16word转pdf Microsoft.Office.Interop.Word.Document.ExportAsFixedFormat()出错 Microsoft.Office.Interop.Word.Document中没有ExportAsFixedFormat()方法, 用的vs15 -
java word转pdf可单个可批量
2013-11-15 20:58:28java编程 word转pdf wordToPdf.java jacob1.9包 包括jacob.jar jacob.dll 要注意jacob.jar jacob.dll要用同一版本的,否则会出错 内含jacob包的导入方式的txt文档 -
用word转pdf时,word内的mathtype公式出错
2020-04-18 19:11:38当我们用word转pdf时,word内的mathtype公式会出现显示出错的现象,其原因可能有多重,这里我分享一种原因及其解决方法。 我们知道07版的word的文件后缀是[.doc],而13版以后的都是[.docx]。这里就要注意了,如果你...当我们用word转pdf时,word内的mathtype公式会出现显示出错的现象,其原因可能有多种,这里我分享一种原因及其解决方法。
我们知道07版的word的文件后缀是[.doc],而13版以后的都是[.docx]。这里就要注意了,如果你的word文件后缀是[.docx]而你却用07版的word,去打开并转换成pdf,当然会出现问题。这是由于旧的版本与新的版本不兼容导致的。
所以解决方法就是对[.docx]的word文件,用13版或是更高版去去打开并转换,即可解决该问题。 -
使用LibreOffice实现word转pdf(python代码)
2022-01-19 17:44:20网上现在基于python代码实现word转pdf的方法,基本都是依赖于micro office。然后我找了一大圈之后,确实也没有别的完全不依赖外部就能实现word2pdf。但是也找到有一个比微软office友好的方案。就是 LibreOffice,他...网上现在基于python代码实现word转pdf的方法,基本都是依赖于micro office。然后我找了一大圈之后,确实也没有别的完全不依赖外部就能实现word2pdf。但是也找到有一个比微软office友好的方案。就是 LibreOffice,他的优点是:
- 完全开源,没有任何使用限制,商业使用也没有限制
- 安装比微软office简单,安装包也小一点
当然,缺点也是有的,就是转换并不能完全保持格式不变,这点可能就能让很多人放弃他了。。。
但是不管怎么样,我也需要一种有别于微软office 的方案。
实现
LibreOffice虽说国内也有站点,但是资料是真的不多,特别是关于编程开发这块的,api的使用也很不人性化。所以,我从0 到整出来代码,花了两天。。。很痛苦。
但是整出来的代码并不可用呀,毕竟都是看的很老的资料了。
首选官方论坛提供了一种方法:api调用,但是这种方法他依赖于时候用libre自带的python,不能使用本地的python,这怎么能忍,所以四处搜索别的方法,于是在libre的大哥“openOffice”论坛上找到一些方法:python+COM桥
这里提供的方法可以使用本地python调用libre。于是我整合各方代码,写出了以下代码:import win32com.client OO_ServiceManager = win32com.client.DispatchEx("com.sun.star.ServiceManager") desktop = OO_ServiceManager.CreateInstance("com.sun.star.frame.Desktop") OO_ServiceManager._FlagAsMethod("Bridge_GetStruct") def createProp(name, value): prop = OO_ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue") prop.Name = name prop.Value = value return prop loading_properties=[] # loading_properties.append(createProp("ReadOnly",True)) # loading_properties.append(createProp("Hidden",True)) filepath = "file:///%s" % r"C:\workSpace\python\word2pdf\test.docx" document = desktop.loadComponentFromUrl(filepath, "_blank", 0, tuple(loading_properties)) # document.CurrentController.Frame.ContainerWindow.Visible = False pdf_properties = [] pdf_properties.append(createProp("FilterName", "writer_pdf_Export")) newpath = filepath[:-len("docx")] + "pdf" try: document.storeToURL(newpath, pdf_properties) # Export except Exception: raise try: document.close(True) except Exception: raise
运行代码的前提当然是安装了LibreOffice,然后运行,首先能,不开“readOnly”和“hidden”模式去读取报告的时候,它会弹出可视化界面,会报这个错:
然后点通知呢,就能以可读的方式打开对应的word(这里可能需要time.sleep一下,否则这个窗口没多久可能就会自己关闭),所以呀,折腾了两天的代码,好歹看到了文档可以被打开,还是感觉到离成功不远了。
等这个窗口关闭之后,控制台还会输出错误:Traceback (most recent call last): File "C:\workSpace\python\word2pdf\test2.py", line 26, in <module> document.storeToURL(newpath, pdf_properties) # Export File "<COMObject <unknown>>", line 2, in storeToURL pywintypes.com_error: (-2147352567, '发生意外。', (1001, '[automation bridge] ', 'com.sun.star.io.IOException: SfxBaseModel::impl_store <file:///C:\\workSpace\\python\\word2pdf\\test.pdf> failed: 0x507(Error Area:Io Class:Access Code:7)', None, 0, 0), None)
于是追着两个错误,查资料,看文档和代码,在安装包的“\libreoffice-7.2.5.2\include\vcl\errcode.hxx”文件中,可以看到错误代码7表示:“Locking”,就认为是权限问题:
除了权限问题,我当时就还怀疑是我的路径写的有问题,当然因为文档确实也被打开了,所以也不是很怀疑是路径的问题。追着权限问题查了一天。但是实在是没有结果。于是想放弃。但是还不甘心,就想着先用它自带的那个python跑一下,看能不能实现,于是我跑了api调用的代码
,没出意外,它和我报的一样的错误。到这里,是真的想放弃了。但是难受了三天,还是挣扎了一下,最后再百度搜了这篇,替换了“”api调用“”的那份代码,只是将他的文件路径改成我的。神奇的是他居然没报错!!!
然后马上查为什么,对比了下来,就发现路径那里的写法不一样:
filepath = r"C:\Users\JimStandard\Desktop\Untitled 1.docx" fileUrl = uno.systemPathToFileUrl(os.path.realpath(filepath))
他的路径是用libre的转换函数转换出来的,于是就print出来,乍一看,没发现什么不同,但是仔细对比,它的路径用的反斜杠“/”,而我的是“\”!然后马上改了自己的代码,它真的就可以了!!!
但是为什么我那样写它也能打开文档来!!!
好吧,是自己细节不好,没注意到这个地方,花了一整天。
PS:其实API调用那篇也没有问题的,只是人家那是Linux下的实现。
最后贴一下完整的代码:
import win32com.client # 调用程序 OO_ServiceManager = win32com.client.DispatchEx("com.sun.star.ServiceManager") desktop = OO_ServiceManager.CreateInstance("com.sun.star.frame.Desktop") OO_ServiceManager._FlagAsMethod("Bridge_GetStruct") # 生成参数元祖 def createProp(name, value): prop = OO_ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue") prop.Name = name prop.Value = value return prop #读取文档的参数 loading_properties=[] loading_properties.append(createProp("ReadOnly",True)) # 以只读方式打开 loading_properties.append(createProp("Hidden",True)) # 隐藏可视化界面,只是隐藏,还是加载了资源的 filepath = "file:///%s" % r"C:/workSpace/python/word2pdf/test.docx" # 绝对路径,注意反斜杠 document = desktop.loadComponentFromUrl(filepath, "_blank", 0, tuple(loading_properties)) document.CurrentController.Frame.ContainerWindow.Visible = False # 据说这样就不会加载可视化界面了,可是放在这个位置都已经加载完成了呀!先放着吧 #转换为pdf的参数 pdf_properties = [] pdf_properties.append(createProp("FilterName", "writer_pdf_Export")) newpath = filepath[:-len("docx")] + "pdf" # pdf 保存路径和名称 try: document.storeToURL(newpath, pdf_properties) # 转换输出 except Exception: raise try: document.close(True) # 关闭 except Exception: raise
这里只是初级目标,我想的是,将libreOffice精简,然后整成一个很小的包,不然几百兆的安装包,还是挺烦人的。
-
word转PDF之后出现的问题
2022-03-30 16:43:03由word再转为PDF之后会变为一.x。如图所示 解决方法: 1.在word中安alt+F9,结果如图所示 2.在一级标题后面加上 { SEQ seq \h } 每一章节后面都需要添加 3.将全文的 STYLEREF 1 \s 替换为 SEQ seq \c 退出编辑...问题:当安装学校要求将第1章改为了第一章之后。
用题注插入的序号1.x。由word再转为PDF之后会变为一.x。如图所示
解决方法:
1.在word中安alt+F9,结果如图所示
2.在一级标题后面加上 { SEQ seq \h }
每一章节后面都需要添加
3.将全文的 STYLEREF 1 \s 替换为 SEQ seq \c
退出编辑状态。alt+ f9
4.ctrl+a + F9 更新全文。即可解决,亲测有效! -
求助:Word转pdf时公式会公式变成乱码
2021-03-07 08:51:33回答:PDF转Word乱码超实用解决方法方法/步骤首先我们要先弄明白为什么PDF转Word会乱码。转换乱码的原因主要有这几个:1、原文档的文字编码丢失或不兼容。2、文档转为PDF时使用了内嵌的字体。3、PDF文档制作时没有... -
python 使用word转pdf遇到的问题
2021-11-22 13:52:16今天处理一个word转pdf文档的功能,代码倒是很简单,不过简单的代码还是遇到了很多问题,这里记录一下。 最终代码 from win32com.client import Dispatch from os import walk wdFormatPDF = 17 if __name__ == ... -
关于长论文word转PDF,出现图等错误解决办法
2022-04-23 10:29:05长论文word转PDF几个方法转PDF方法word另存为另存为Adobe PDF导出解决办法 转PDF方法 word另存为 另存为Adobe PDF 导出 使用首选方式创建PDF文档,按如下操作即可得到带导航窗格的大论文。 如果使用Adobe导出则... -
批量word转PDF,PDF合并
2016-11-25 16:47:09word转PDF,PDF合并,支持中文文件名,中文路径可能会出错,windows下使用 -
java实现Word转Pdf(Windows、Linux通用)
2021-04-15 14:18:37最近,需要实现在linux服务器上将Word文档转成PDF文档的功能,接手其他人项目使用的是Jacob,但是需要往jdk里面添加文件,所以想换一个方法实现,根据前者和相关资料决定使用的aspose,因此记录一下使用这个第三方... -
word转PDF图片很糊or word自带公式编辑器公式自动编号转PDF括号没了
2021-12-30 21:12:39打印,输出的PDF会很清楚,只要预览可以看到括号,那么就不会有显示错误。 PS:自动编号是在公式末尾输入#(1)然后敲回车就可以。此外如果图片还是看不清建议提高图片清晰度,找个网站或者用PS。 ... -
java word转pdf,可以解决转pdf后word横版变窄问题(pdf显示不全)
2019-03-20 15:31:52最近公司业务需要在pdf中显示表格,但是表格内容列数有点长,导致word转pdf的时候显示不全; 如上图这种显示不全的情况(截图中没有放表格,表格同理一样)。 具体做法:第一、word的模板文件中需要进行设置word... -
用JAVA实现简单的WORD转PDF 亲测有效
2020-06-19 18:06:55前阵子由于项目业务的需要,领导要求研究一下如何实现将word转换成pdf,经过一番的百度找到了一个比较简单的方法(本人比较懒),只需要导入一个JAR包和十几行代码就能够实现转换,而且转换的效果比预想的要好。... -
使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类
2022-05-31 14:40:14/** * Word转PDF工具类 * @author luvJie-7c * */ public class WordToPdfUtil { private static Logger log = Logger.getLogger(WordToPdfUtil.class.toString()); /** * * @param dataMap 要填充的数据 *... -
使用LibreOffice在线word转换pdf
2021-06-09 15:04:02安装完成后,后续将使用java代码调用软件服务来提供word格式转换 安装 windows安装:双击,点下一步…(安装路径不要含有中文) Linux安装 解压上面资料的zip,得到两个tar压缩文件,上传至Linux 安装 # 解压 ... -
Java word转pdf Linux/windows跨平台 格式完美(利用命令行调用libreoffice)
2021-05-14 14:53:24需求描述最近在作word报表的自动生成,甲方要求要有pdf格式,且对样式要求特别严格。上网搜了不少,发如今对word样式要求特别高的状况下,用libreoffice是特别好的选择。基本上几秒钟10多页就出来。若是对样式要求不... -
tiff转pdf报错:Tiles are not supported.word转pdf报Can't map name to dispid: SaveAs
2018-01-16 15:35:29 -
【原创】Java开发word模板转html导出pdf
2022-02-25 14:38:26word模板转html链接地址 2、替换要填充的内容,把html文件后缀改为ftl并放在resources/templates路径下,最后将字体(任何字体都可以)放在resources/font路径下 3、最后就是java代码 <!-- ... -
Java word转pdf 精确获取文件页数(jacob)
2021-08-30 09:57:38} catch (Exception e) { System.out.println("Word转PDF出错:" + e.getMessage()); return false; } finally { if (app != null) { app.invoke("Quit", wdDoNotSaveChanges); } } } } demo项目上传到gitee 地址: ... -
java实现Word转Pdf(Windows、Linux通用)-2021-08-02
2021-08-02 09:21:152、下载好所需要的jar包,idea需要引入jar包,从编译的层面考虑将将jar包安装到本地仓库,解决编译打包时出错的问题。 A.首先确定 mvn -v 能否使用,将下载好的jar包放到项目外的本地文件夹。 B.其次执行m -
Java利用Jacob实现excel,ppt,word转pdf 及jacob遇到的坑
2019-07-30 18:09:42首先直接将jar放至lib目录下,将dll文件放至C:\Windows\System32目录下,本地直接测试成功,可以完美实现word,excel,ppt转换成pdf格式。 2. 将项目放至windows服务器后,如果报错找不到dll文件或者类,可通过... -
毕设论文word转pdf(错误!未定义书签。 已解决)
2020-06-07 12:03:56解决办法:全选(Crtl+A),按下Crtl+F11,再点文件导出为PDF即可。 相关资料: 1、什么是Word的“域”? Word域可以实现许多复杂的工作,自动编页码、图表的题注、脚注、尾注的号码等,都可以通过Word的域来快速... -
采用jacob实现word转pdf
2015-04-14 10:46:04采用jacob实现word转pdf -
线程池解决 jacob 大批量word 转 pdf慢问题
2020-09-11 09:36:45import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException;...import com.itextpdf.text.pdf.*; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import . -
使用poi+itextpdf将word转成pdf
2020-03-05 22:22:11将word转换成pdf确实有很多种方案! 背景 最近正好需要做一个这样的功能,需求是将word模板进行签名后转换为pdf。为此,我花了一点时间去网上找方案。期间遇到了一些坑,这里记录一下。 方案选择 首先,因为代码是跑... -
linux 上使用POI将Word转PDF中文字体显示不出来问题解决
2020-12-04 15:48:091、Word转换PDF成功但是中文显示不出都是因为字体的问题 下面的方法简单粗暴,但是解决了我的问题, a、将C:\Windows\Fonts 所有字体全部压缩成zip包(allfont.zip) b、将压缩包拷贝到linux服务器上的 /usr/... -
听起来简单实操还挺麻烦的功能:word转pdf(无乱码,windows和linux都可)
2022-04-23 09:57:04</exclusion> </exclusions> </dependency> 第二步:安装openoffice(windows和linux需要哪个装哪个) linux 安装参考这篇文章 安装参考 其中rpm安装出错的话加上这个后缀 --force --nodeps ,强制去除多余...