-
2020-12-19 23:15:40
今天在肝大作业的时候碰上一个问题,当我把截图Ctrl+c和Ctrl+v复制到word中后显示正常,但是打印成pdf文件后,图片却显示残缺,改变图片编排模式也不管用,很奇怪
查阅相关资料,得出解决方案顺利解决:
将图片另存为之后再导入,就不会有问题了,实质问题是复制粘贴进的图片尺寸太大,而导入进的图片word会进行自动压缩。
所以,以后word排版慎用Ctrl+cv更多相关内容 -
android-pdf-viewer 在android 5.1.1 加载pdf显示不全
2018-10-24 00:57:50但是app运行在 5.1.1的版本是 会出现加载不全 这是 android 5.1.1上显示的 看我红框扩住的部分  这是android8.0 ... -
【seafile】之 预览电子发票PDF显示不全问题
2020-04-12 16:49:29问题:seafile自身预览PDF文件,部分不显示 图片显示如下: 一、问题来源 seafile版本:7.0.5 原因: 原文件pdf,字体没有嵌入,所以需要本系统的字体渲染 seafile 使用 pdf.min.js,而把对应map集成了。 ...近期在处理网盘和在线文件相关问题,面对的事比较多且杂,记录下。
问题:
seafile
自身预览PDF文件,部分不显示图片显示如下:
一、问题来源
seafile
版本:7.0.5原因:
- 原文件
pdf
,字体没有嵌入,所以需要本系统的字体渲染 seafile
使用pdf.min.js
,而把对应map
集成了。
解决这个问题,关键点在
seafile
的pdf.js
二、解决
用
seafile
预览“有问题的”pdf
,且在浏览器里打开开发控制台会发现,缺少对应
map
文件,如图:
解决步骤:
-
创建目录
/media/js/pdf/web/cmaps/
,将Adobe-GB1-UCS2.bcmap
,UniGB-UCS2-H.bcmap
这两个文件放在这个目录下面文件可以在 github 里下载:https://github.com/mozilla/pdf.js/blob/master/external/bcmaps/UniGB-UCS2-H.bcmap
$ root@3e1c6f87e1aa:/opt/seafile/seafile-server-latest/seahub/media/js/pdf/web/cmaps# ls Adobe-GB1-UCS2.bcmap UniGB-UCS2-H.bcmap
- 更改映射位置
编辑viewer.js
文件
$ root@3e1c6f87e1aa:/opt/seafile/seafile-server-latest/seahub/media/js/pdf# vi viewer.js
更改如下:
cMapUrl: { // value: '../web/cmaps/', value: '/media/js/pdf/web/cmaps/', kind: OptionKind.API }
- 重启服务
再次从
seafile
打开“有问题的”pdf
,显示正常。若还是未成功,可能是因为缓存:
再次打开可能会因为缓存,显示的
pdf
不全,这时候需要将缓存关闭。
三、题外话
相关问题,调研了其他几家的处理方式,列举如下:
- 钉钉
PDF
预览,是图片 WPS
预览PDF
,可以奏效,但字体貌似有些不同kkfilepreview
,预览PDF
也是走pdf.js
尝试了下,
kkfilepreview
没有补全PDF
。PS:今天,升级到社区版 7.1.3,
pdf
也会显示不全,需要同样处理。同样用
onlyoffice
预览,会出现乱码,这个貌似是onlyoffice
的 BUG,对应issue
:https://github.com/ONLYOFFICE/DocumentServer/issues/838 - 原文件
-
java word转pdf,可以解决转pdf后word横版变窄问题(pdf显示不全)
2019-03-20 15:31:52最近公司业务需要在pdf中显示表格,但是表格内容列数有点长,导致word转pdf的时候显示不全; 如上图这种显示不全的情况(截图中没有放表格,表格同理一样)。 具体做法:第一、word的模板文件中需要进行设置word...友情提醒,这个是目前不支持Linux,只支持wind.
最近公司业务需要在pdf中显示表格,但是表格内容列数有点长,导致 word 转pdf的时候 显示不全;
如上图这种显示不全的情况(截图中没有放表格,表格同理一样)。
具体做法:第一、word的模板文件中需要 进行设置 word 横向布局;打开word => 选择【页面布局】=> 选择右下角的那个 箭头符号; 在页面设置 中,设置 纸张方向为横向,应用到本节,本节就是当前页面;全部就是所有页面了;设置完成后就行了;
第二、代码这一块,建立Word2PdfUtil .java类;这里要引用jacob相关的jar包: jacob.jar、aspectjweaver.jar; 其他的 poi、dom4j;
注意:这里需要引用jacob-1.17-x64.dll这个东西;把jacob.dll(不同版本的jacob的dll文件名有所不同)复制到jdk环境中,例如:【C:\Program Files\Java\jdk1.6.0_17\jre\bin】目录下即可。
相关jar 和 这个java我放到 我的资源页面上了;
https://download.csdn.net/download/qq_30515213/11022381
import java.io.File; import org.apache.poi.POIXMLDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class Word2PdfUtil { static final int wdFormatPDF = 17;// PDF 格式 public int wordToPDF(String sfileName,String toFileName) throws Exception{ System.out.println("启动Word..."); long start = System.currentTimeMillis(); ActiveXComponent app = null; Dispatch doc = null; try { app = new ActiveXComponent("Word.Application"); // 设置word不可见 app.setProperty("Visible", new Variant(false)); // 打开word文件 Dispatch docs = app.getProperty("Documents").toDispatch(); // doc = Dispatch.call(docs, "Open" , sourceFile).toDispatch(); doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { sfileName, new Variant(false),new Variant(true) }, new int[1]).toDispatch(); System.out.println("打开文档..." + sfileName); System.out.println("转换文档到PDF..." + toFileName); File tofile = new File(toFileName); // System.err.println(getDocPageSize(new File(sfileName))); if (tofile.exists()) { tofile.delete(); } // Dispatch.call(doc, "SaveAs", destFile, 17); // 作为html格式保存到临时文件::参数 new Variant(8)其中8表示word转html;7表示word转txt;44表示Excel转html;17表示word转成pdf。。 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { toFileName, new Variant(17) }, new int[1]); long end = System.currentTimeMillis(); System.out.println("转换完成..用时:" + (end - start) + "ms."); } catch (Exception e) { e.printStackTrace(); System.out.println("========Error:文档转换失败:" + e.getMessage()); }catch(Throwable t){ t.printStackTrace(); } finally { // 关闭word Dispatch.call(doc,"Close",false); System.out.println("关闭文档"); if (app != null) app.invoke("Quit", new Variant[] {}); } //如果没有这句话,winword.exe进程将不会关闭 ComThread.Release(); return 1; } private static Document read(File xmlFile) throws DocumentException { SAXReader saxReader = new SAXReader(); return saxReader.read(xmlFile); } // public String getDocPageSize(File file){ // String pages = null; // try{ // Document doc = read(file); // List<Node> nodes = doc.selectNodes("//o:Pages"); // if(nodes != null && nodes.size() > 0){ // pages = nodes.get(0).getText(); // System.out.println("/"); // System.out.println("该word文档的页数为:"+Integer.parseInt(pages)); // System.out.println("/"); // }else{ // System.out.println("*********"); // System.out.println("页面转换错误"); // System.out.println("*********"); // } // }catch(Exception ex){ // ex.printStackTrace(); // } // return pages; // } public int getDocPageSize(String filePath) throws Exception { XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(filePath)); int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数 int wordCount = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。 System.out.println ("pages=" + pages + " wordCount=" + wordCount); return pages; } public static void main(String[] args) throws Exception { Word2PdfUtil d = new Word2PdfUtil(); //System.err.println(d.getDocPageSize("E:\\test.doc")); d.wordToPDF("E:\\test.doc", "E:\\test\\mm.pdf"); } }
main方法直接运行,效果如下:
到此已经结束,关于word 模板 数据填充,这里不讲,新人可以自行百度,就是在最终生成好word后,在调用这个类即可。
出错总结:
1.没引入jar包,,这个错误我就不说了,,基本上所有人都可以避免.jacob.jar
2.出现这个错误是因为缺少了jacob-1.17-x64.dll这个东西,报错
3.需要安装Microsoft Save as PDF 或 XPS
com.jacob.com.ComFailException: Invoke of: SaveAs Source: Microsoft Word Description: 命令失败
出现这种错误网上也有很多解决办法:如下
Office版本使用2007,因为2007提供了一个加载项:Microsoft Save as PDF 或 XPS,可将文档另存为PDF格式。下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=4D951911-3E7E-4AE6-B059-A2E79ED87041,安装即可使用。
本文参考:https://blog.csdn.net/u013238430/article/details/52943075
-
AD导出PDF内容显示不全解决办法
2021-01-12 09:47:01DXP—>Preferneces—>Schematic—>General下 取消Render Text with GDI+展开全文 -
Excel转成PDF后显示不全要怎么办
2020-10-27 11:39:14我们一般在用表格做好数据汇总统计后,为了防止被改动,一般都会将Excel转换成PDF后再保存或传阅等,但也经常会遇到转换后的PDF内容显示不全,多页等情况,这是怎么回事呢? 举一个简单的例子也许就比较好理解了,... -
关于html页面导出pdf滚动条以下显示不全的问题
2021-06-13 12:08:33生成的pdf只有页面窗口可见的区域,有滚动条的下面没有生成出来。如果截取是body的这个层级,而刚好body设置了overflow: hidden;那超出的部分是永远截取不到的,因为这个节点的dom高就是窗口可见的高度,并不包含... -
word另存为PDF时Mathtype公式显示不全的问题
2021-05-08 17:15:41在word文档(docx)中用Mathtype编译公式(这东西编辑的公式,其实个人感觉贼难看,无奈人家被很多机构认可了),然后发现,另存为PDF总是出现公式显示不全的问题。 之后,就是前文中的ISO19005-1标准(PDF/A)了。... -
Excel转PDF如何解决显示不全的问题?
2019-11-07 18:08:52Excel转PDF如何解决显示不全的问题?我们在进行Excel表格转换成PDF文件的过程中,经常会发现转换出的结果很容易出现显示不全、分页等情况。所以今天小编将要分享一个Excel转换PDF的好方法,帮助你快速解决问题。 1... -
PDF.js发票显示不全
2019-04-11 14:50:32在使用 pdf.js 这个插件的时候预览发票显示不全,如下图 我把底部的cmaps引入404问题解决掉就好了,在 viewer.js 文件里 最终效果图: -
jasperreport6 导出pdf中文不显示问题解决方式
2015-12-07 16:43:40本文档描述了如何解决导出pdf文件中文不显示问题。jasperreport6版本以上已经对pdf font name、pdf encoding等配置弃用,而改为使用font配置字体,所以以前使用itext jar包的方式已经不能解决pdf中文不显示问题,... -
导出PDF文件中文显示不完整
2020-01-02 15:48:21使用PDF模板导出PDF文件,导出内容里中文显示不完整,解决方法: 将表单的字体设置为Adobe 黑体 Std R即可。 -
html 导出为 PDF:因页面内有横向滚动条而显示不全的解决方案
2020-12-16 09:11:56在 Vue 中,将 html 内容导出为 PDF 为了使横向滚动条的内容全部展示,需要指定 width: document.getElementById(id).scrollWidth。 <div ref="myContainer">... "我是下载的pdf的名字,随便起. -
打印表格时内容显示不完整怎么办?四种方法解决WPS不完整问题
2021-06-28 10:18:11在打印表格时,偶尔出现表格内容显示不完整的状况,这是什么原因导致的呢?出现这样的情况应该如何处理?接下来为大家介绍几种处理方法,可以对应情况来解决。一、取消打印区域打印表格显示不完整,有可能是因为设置... -
网页导出pdf不完整_网站中的页面如何转成PDF文档?
2020-11-20 07:15:20在我们浏览网站时,需要保存网页以供日后离线浏览,或是想要分享或打印网页,那就可以考虑把网页转换成PDF文件来简化整个操作。那么应该如何将网页转成PDF呢?网页上的信息如何保存成PDF,操作方法是什么?相信很多... -
jacob Excel转PDF问题,列显示不全
2016-06-16 06:08:17利用jacob将Excel转换为PDF时,Excel中的列在PDF中显示不全如下图,加班费合计右面应该还有列,但是没有显示。另外,各列的数据数据显示不全,如身份证号![图片说明]... -
visio打印成pdf不全
2020-02-22 15:58:42原因是使用pdf打印机打印的时候,visio设置不能超过A4纸的大小,因此更好的方法是visio下选择另存为*.pdf格式即可~ -
AD用SmartPDF导出原理图标号显示不全解决方法
2019-06-17 15:12:40AD用SmartPDF导出原理图标号显示不全,如下图 解决方法: DXP -> Preferences -> Schematic -> 选择不勾选:"Render Text with GDI+" 重新生产一遍smartPDF,效果如下,完美解决: ... -
解决vue移动端项目pdf显示问题
2020-12-18 15:32:05解决vue移动端项目pdf显示问题 import pdf from ‘vue-pdf-signature’ import CMapReaderFactory from ‘vue-pdf-signature/src/CMapReaderFactory.js’ components: {pdf}, create () { this.getPdfs() ... -
解决pdf.js无法完全显示pdf文件内容的问题
2020-10-21 09:34:48解决pdf.js无法完全显示pdf文件内容的问题 -
Vue 导出PDF文件(导出pdf模糊,导出图片不全,导出不清晰问题)终极解决方案
2020-04-28 14:01:39Vue 导出PDF文件终极解决方案 关于 Vue 导出 Echarts 统计图为 pdf 格式,网上许多作者给出了解决方案,但是都不能解决一些根本问题, -
不要再纠结pdf在kindle上的显示问题了,简单教程,拿去!不要太谢我。
2021-01-14 06:46:34设置部分已经完成,现在来试试效果吧,吼吼~用上述认可的邮箱给自己的kindle邮箱发邮件,主题convert,附件里扔pdf文件,发送。 主题convert,主题convert,主题convert, 5.坐等几分钟,你的pdf文件就会以电子书... -
typora导出pdf或HTML不全的解决办法
2018-12-04 16:36:06今天typora导出pdf文件却发现怎么都只能导出一部分,经过不断尝试终于发现问题所在 即当typora导出PDF或HTML时碰到非代码块中的<>便会停止 恰巧这次整理的笔记是关于html标签的,用到了许多<... -
PDF文件不能正常显示问题的原因及解决方法(图文)
2022-01-04 10:57:36今天,从OA上看到一个发布公告的pdf文件打开后不能正常显示,一开始以为是我自己电脑的问题,后来其他人也反映也有这个问题,那我们就一块来看一下到达是哪里出了问题。 下载后的文件打开是这样的 对于正式文件... -
谷歌浏览器网页保存为PDF
2012-05-19 11:08:56使用谷歌浏览器保存网页是比较麻烦的,使用这个方法可以比较方便地将网页保存为PDF文档 -
基于pdf.js在android内部显示pdf文件
2017-08-07 23:55:13在安卓内部显示pdf文件 -
如何解决matlab保存图片为pdf时不完整问题【每天一个小技巧】
2020-08-06 20:12:00虽然这是矢量图,但是是不全的。我们需要设置一下matlab的输出设置。 2. 解决方法 点击图片左上角中的文件,然后点击打印预览: 在跳出的页面中,先点击手动确定大小及位置,然后点击最优,最后点击刷新。注意这里 -
java 使用 itextpdf 生成PDf 多行文本 首行汉字显示不全 如何解决?
2019-05-24 10:09:28java 使用 itextpdf 生成PDf 多行文本 首行汉字显示不全 如何解决?  -
在vue中将网页保存成pdf并解决html2canvas生成截图不全问题
2020-05-04 15:54:52//一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 592.28 * 841.89; //未生成pdf的html页面高度 var leftHeight = contentHeight; //pdf页面偏移 var position = 0; //html页面生成的... -
网页打印问题-页面显示不全
2019-01-03 12:51:56最终差强人意的解决方案: ... 下拉窗口,选择目标打印机,也可以先保存为本地pdf。双面打印。其他设置如下: 有时候浏览器渲染不稳定,先看打印预览。不行,打印(打印预览后),浏览器中上下拉动...