-
web中显示pdf文件
2017-05-08 22:40:36使用epub.js使用开源项目calibre将word转为epub格式使用了开源项目futurepress/epub.js,在PC端和手机端显示时字体够大,但是如果其中有图片,会发现图片被截取,只显示中间的一部分使用pdf.js使用狐火的开源项目...web中显示pdf文件
原始文档是word,由于主要是要在手机的浏览器中显示,据你会选择什么样的电子书格式?为什么?,所以考虑了使用epub格式。
使用
epub.js
使用开源项目
calibre
将word
转为epub
格式使用了开源项目futurepress/epub.js,在PC端和手机端显示时字体够大,但是如果其中有图片,会发现图片被截取,只显示中间的一部分
使用
pdf.js
使用狐火的开源项目mozilla/pdf.js,在浏览器中直接显示pdf
使用
pdf2htmlEX
开源项目coolwanglu/pdf2htmlEX,将pdf转为html,但在手机浏览器显示时加载时间有点长(可能是我的html文件size过大)
window下载地址pdf2htmlEX Windows Version
使用方式Quick Start,油管也有视频教最基本的使用方式
优化:
1.在转html之前,优化pdf文件Optimizing PDF Files
2.适配Mobile Devices
- 在
#page-container
中添加-webkit-overflow-scrolling: touch;
- Hide pages that are out of screen using JavaScript, by completely removing them from the DOM
- 触发css的3d加速,如
translateZ
或者translate3d
其它方式
如使用
FlipBuilder
,或者FlowPaper
参考
- 在
-
python word转图片_为什么word转pdf图片没了?办公大神来教你一招
2020-12-06 14:37:21为什么图片转pdf后只留下一部分?为什么jpg图片转pdf后,图片尺寸不一样了?.......日常办公中,文档转换看似简单,却会遇上各种各样的小问题。下面我来针对第一个“word转pdf后,图片没了”的问题来解答一下,顺便...为什么word转pdf图片没了?为什么图片转pdf后只留下一部分?为什么jpg图片转pdf后,图片尺寸不一样了?.......日常办公中,文档转换看似简单,却会遇上各种各样的小问题。下面我来针对第一个“word转pdf后,图片没了”的问题来解答一下,顺便安利一款迅捷PDF转换器给诸位。
解决方法(针对底图没了的情况)
如果word转图片后,底图没显示,那可点击word软件的顶部菜单栏【工具】——【选项】,接着点击下一个窗口的【打印】——【背景色和图像】按钮。Ok后再进行转换即可解决问题。
其他方法
如果觉得上面的方法不适用,在此我安利一个简单方法:使用迅捷PDF转换器,这款软件支持pdf转换、pdf操作、cad转换、文字语音转换、图片格式转换、特色转换等功能,如果要实现word转pdf,可点击【PDF转换】菜单按钮,找到对应的状态栏,把word文本导入,自定义输出目录,最后一键点击【开始转换】即可。
使用办公软件,最关心的是使用效果如何,从转换速度、转换质量来说,这款软件我觉得是OK的,不够伙伴们要注意,它不是完全免费的哦,仅支持前五个文档的前五页免费转。
看完以上分享内容,小伙伴们应该知道怎么把word转pdf了吧?参考一下以上方法,大家也能轻松解决小难题哦。
-
手机 pdf 阅读器
2009-02-12 23:00:29首页中历史显示个数可以自己设置,当设置为0时,不显示历史,改为显示“打开”的链接 末全部完成部分: 增加网络功能:(请在系统设置中勾上“允许使用网络”) 听MP3时,如果不存在歌词,则会自动下载歌词,并且保存... -
Java经典入门教程pdf完整版
2020-09-03 17:00:26因此,开发商也无须为不同的终端建立特殊的应用,制造商也只需要简单地使它们的 操作平台可以攴持JM便可, 3:Java企业版:JEE( Java enterprise edition) JE( ava Enterprise edition)是·种利用Java平台来简化企业解决... -
最新Java面试宝典pdf版
2011-08-31 11:29:22为什么? 9 8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、... -
Visual Studio程序员箴言中文扫描PDF
2010-12-28 01:04:18技巧5.33 在“对象浏览器”中只显示解决方案中的组件 124 技巧5.34 在“对象浏览器”中创建自定义的组件列表 125 技巧5.35 直接从“对象浏览器”向解决方案添加引用 126 技巧5.36 使用前进/后退按钮在“对象... -
你必须知道的495个C语言问题.pdf
2013-01-20 14:30:541.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 1.26 main的正确定义是什么?void ... -
使用thymeleaf渲染的html页面,怎么导出成PDF?
2020-07-29 19:19:14从上图可以看出,B超图没显示,描述也没有,就只剩下一些静态页面了,所有的动态数据都没有了。这不是最奇怪的,看到我左边黑框标的页数了吧,继续看下一张: ![图片说明]... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:17C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 ...1.1.1 什么是.NET 2000 年 6 月 ... -
Tcl_TK编程权威指南pdf
2011-03-25 09:30:55为什么要使用Tcl 作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程... -
MySQLDBA运维笔记.pdf
2019-11-04 15:53:171.2.1 什么是 mysql 多实例? .........................................................................................9 1.2.2 mysql 的多实例结构图.......................................................... -
Visual C++编程技巧精选500例.pdf
2012-09-01 15:01:50205 如何用省略号显示字符串的其余部分? 第11章 文件读写操作 206 如何打开文件? 207 如何关闭文件? 208 如何读文件? 209 如何写文件? 210 如何定位文件? 2ll 如何判断文件大小? 212 如何获取文件错误类型? 213 如何... -
福优林@Qt5小白变大牛初级篇word---第12章.pdf
2020-07-23 17:32:47View: 则只负责显示 Controller: 通常负责处理用户交互的部分,从视图读取数据与用户输入,并向模型发送数据;这里顺便提一下,在Qt里面我们并没有Controller的概念,而是Delegate(委托),意义很明显:控制... -
Android应用程序开发教程PDF电子书完整版、Android开发学习教程
2011-03-30 22:26:35• Surface Surface Surface Surface Manager Manager Manager Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D 和3D 图层的无缝融合。 • LibWebCore LibWebCore LibWebCore LibWebCore - 一个最新的 ... -
你必须知道的495个C语言问题.[美]Steve Summit(带详细书签).pdf 压缩版
2018-04-08 02:26:501.2 为什么不精确定义标准类型的大小? 31 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都... -
[你必须知道的495个C语言问题]人民邮电出版社.扫描版.pdf
2011-10-01 21:39:521.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 1.26 main的正确定义是什么?void ... -
图像处理基础(第2版).[美]Maria Petrou(带详细书签).pdf
2019-01-05 02:38:431.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像? 2 1.0.6 一幅数字图像是如何形成的? 2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一... -
计算机图形学(OpenGL)第三版(带完整目录).pdf
2017-02-15 10:03:09本书中定义了许多有用的类(如网格、场景、相机和纹理等类),并且说明了这些类为什么方便易用。在某些场合下,为了使程序更加清晰易读,我们使用了面向对象编程中的一些技术,如继承和多态,不过,我们并不过分强调... -
ExtJS源码分析与开发实例宝典(附光盘源码) PDF扫描版
2014-09-24 23:40:051.2 为什么选择Ext JS 3 1.3 如何学习Ext JS 5 1.3.1 获取源码并部署 5 1.3.2 开发工具的智能提示 5 1.3.3 文档和实例的学习 8 1.3.4 学习论坛 9 1.4 Ext JS体系结构 9 1.4.1 体系结构 9 1.4.2 文件结构 11... -
电脑常见问题与故障1000例(高清PDF中文版)
2011-05-30 07:13:3696.单面内存导致只显示一半容量 97.双通道内存变成单通道内存 98.温度过高导致内存出错 99.内存使用双通道模式 100.内存不可读 101.内存条故障引起注册表出错 102.利用注册表找回“丢失”的内存 103.Windows经常进入... -
C语言大全第4版(高清PDF中文版)
2011-06-07 09:23:56在历史的洪流中,人们很容易只注意那些新的事物,而忽视了用以构筑未来的坚实基础。C语言正是这样的基础。世界上的许多程序代码是在C上运行的。C++正是在此基础上建立的,其语法构成了Java的基础。然而,如果C仅是... -
PetShop4.0宠物商店+系统架构设计+中文注释源码+PDF中文详解
2012-08-27 12:10:012、 既然在实现GetItemsByProduct()方法的时候,也是要把返回的所有Item对象添加到一个ArrayList当中去,但为什么GetItemsByProduct()方法返回的不是一个ArrayList对象,而是一个IList接口的对象呢?仅仅是基类引用... -
[Oracle.11g权威指南(第2版)].谷长勇.扫描版.pdf
2013-06-23 21:16:09第四部分为Oracle 11g数据库管理,主要介绍管理控制文件/重做日志文件/表空间/数据文件、模式对象管理、表分区和索引分区、用户管理与安全、数据完整性和数据约束等;第五部分为Oracle数据库优化,着重介绍Oracle... -
C#高级编程(第9版):C# 5.0 & .NET 4.5.1.[美]Christian Nagel(带详细书签) PDF 下载 高清 完整版
2017-12-26 14:02:25这可以用于文档,对编译有一定的影响(例如,把方法标记为只在调试版本中编译)。 ● 可以完全访问.NET基类库,并易于访问Windows API(如果实际需要它,这就不常见)。 ● 可以使用指针和直接访问内存,但C#语言可以... -
CAD中文件如何转换为图片格式
2011-11-17 12:27:57由于本人对CAD一窍不通,所以遇到此问题很是头疼,百度了很久,用了什么pdf虚拟打印机啊,什么jpg虚拟打印机啊,都感觉很不清晰。。。 冒得办法,本人把自己的拙见贴出来,只要能解决问题就好(O(∩_∩)O~,发现...由于本人对CAD一窍不通,所以遇到此问题很是头疼,百度了很久,用了什么pdf虚拟打印机啊,什么jpg虚拟打印机啊,都感觉很不清晰。。。
冒得办法,本人把自己的拙见贴出来,只要能解决问题就好(O(∩_∩)O~,发现这貌似成了自己现在的工作态度了,这态度是好呢还是不好呢):
文件--输出--设为bmp格式--选择输出的部分
即使自己全选了,发现还是只能输出当前屏幕显示的部分,所以,如果你要是跟我一样,那个文件尺寸比较大才能看清楚的话,那就麻烦喽。。。我是用了一个大显示器实现的&&把两边无关的窗口给关闭了。。。
-
window.print网页打印——打印htmlbody的实际高度,而不是看到的内容
2020-04-17 14:54:34文章目录问题描述使用chrome保存图片功能——验证问题3测试代码测试结果测试结论使用浏览器打印功能为pdf打印的API通用JS代码——将网页总具体的某段保存为pdf天坑——为什么我打印的时候只显示当前页 问题描述 ...文章目录
文章参考
问题描述
- 工作中,想把网页中某段内容保存图片
- 想保存的这部分内容在网页中的某个div中,并且出现了滚动条,
(不是窗口出现滚动条,是某个div有滚动条)
- 第一想法是使用chrome的保存图片的命令功能 —— 保存全屏、某个节点、当前可视区域三个功能,但是测试没有成功(这个功能只是针对显示在html节点的内容,因为节点高度固定,所以保存的图片就是我们看到的部分)
- 想到“网页打印功能”,将打印的内容保存为Pdf,还方便查找
使用chrome保存图片功能——验证问题3
测试代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div style="height: 200px;width: 200px;overflow: auto;"> <div>dddddddd</div> <div>dddddddd</div> <div>此处省略一万行代码</div> </div> </body> </html>
测试结果
保存固定高度节点为图片的内容,如图
测试结论
这个功能只是针对显示在html节点的内容,因为节点高度固定,所以保存的图片就是我们看到的部分
使用浏览器打印功能为pdf
打印的API
window.print()
document.execCommand('print')
上面两种API 作用是一样的
通用JS代码——将网页总具体的某段保存为pdf
(function dayin(queryStr) { var userAgent = navigator.userAgent.toLowerCase(); // 取得浏览器的userAgent字符串 if (userAgent.indexOf("trident") > -1) { alert("请使用google或者360浏览器打印"); return false; } else if (userAgent.indexOf("msie") > -1) { var onlyChoseAlert = simpleAlert({ content: "请使用Google或者360浏览器打印", buttons: { 确定: function () { onlyChoseAlert.close(); }, }, }); alert("请使用google或者360浏览器打印"); return false; } else { // 其它浏览器使用lodop // var oldstr = window.document.body.outerHTML var printData = window.document.querySelector(queryStr).outerHTML // 获得 div 里的所有 html 数据 // window.document.body.innerHTML = printData const htmlObj = window.document.getElementsByTagName('html')[0] const bodyObj = window.document.getElementsByTagName('body')[0] // 缓存body、html的高度 const beforeBodyHeightStyle = getComputedStyle(bodyObj).height const beforeHtmlHeightStyle = getComputedStyle(htmlObj).height // 缓存body、html是否隐藏起来了 const beforeBodyOverflowStyle = getComputedStyle(bodyObj).overflow const beforeHtmlOverflowStyle = getComputedStyle(htmlObj).overflow console.log(beforeBodyOverflowStyle) // 防止 html 和 Body都设置了高度为100%,因为实际要打印的高度是所有内容,大于浏览器的高度100%的,而我们查看的内容和显示的内容都是浏览器的高度,并且有滚动条,这样就让我们有错觉, // 我们打印的内容是html的高度的内容,不是100%,有可能是小于100%,也可能大于100%的 htmlObj.style.height = 'auto' bodyObj.style.height = 'auto' // 判断body是否隐藏不显示滚动条 if (beforeBodyOverflowStyle === 'hidden') { bodyObj.style.overflow = 'auto' } if (beforeHtmlOverflowStyle === 'hidden') { htmlObj.style.overflow = 'auto' } // var targetDiv = document.createElement('div') const targetId = Math.floor(Math.random() * 10000000000000000) targetDiv.id = targetId targetDiv.innerHTML = printData // document.getElementById('app').style.display = 'none' var docfrag = document.createDocumentFragment(); for (let i = 0; i < bodyObj.childNodes.length; i++) { var node = bodyObj.childNodes[i] // 过滤 text 节点、script 节点 if ((node.nodeType === 1) && node.nodeName !== 'LINK' && node.nodeName !== 'SCRIPT') { console.log(node.nodeName) docfrag.appendChild(node) } } bodyObj.append(targetDiv) // window.print() // 等价于 window.document.execCommand('print') htmlObj.style.height = beforeHtmlHeightStyle bodyObj.style.height = beforeBodyHeightStyle if (beforeBodyOverflowStyle === 'hidden') { bodyObj.style.overflow = 'hidden' } if (beforeHtmlOverflowStyle === 'hidden') { htmlObj.style.overflow = 'hidden' } // 打印结束后,放开隐藏内容 targetDiv.remove() console.log(docfrag) var children = docfrag.childNodes; for (var i = 0; i < children.length; i++) { let node = children[i] bodyObj.appendChild(node) } } })("article.article");
打印的思路
- 将节点的代码缓存起来
将body内部的 非 LINK 和 非SCRIPT 节点 缓存起来,放到 新建的 fragment 节点中
- 将需要打印的代码创建为 一个DIV 节点,挂在 body 节点下面
- 检测是否固定了html和body的高度
- 检测是否将html和body设置了overflow:hidden
打印完成或者取消打印,将创建的打印节点删除,然后将新建的fragment 下的节点重新返回挂载到 body 节点下面
天坑——为什么我打印的时候只显示当前页
上面的代码我做了注释,再重复说明一下,下面的情况是我遇到的一种情况,具体情况具体分析
- 防止 html 和 Body都设置了高度为100%,因为实际要打印的高度是所有内容,大于浏览器的高度100%的,
- 而我们查看的内容和显示的内容都是浏览器的高度,并且有滚动条,这样就让我们有错觉,
- 结论:
我们打印的内容是html的实际高度的内容,不是100%
,有可能是小于100%,也可能大于100%的
样式在class中,如何获取DOM的样式?
问题描述:
在学习DOM的时候就看到通过ele.style来获取元素样式值,但是有时候获取的并非是节点的样式值,而是空值。ele.style
a. 这是因为ele.style只能获取写在元素标签中的style属性里的样式值,
b.无法获取到定义在<style></style>和通过<link href="css.css">加载进来的样式属性
var test = document.getElementById("test"); //获取节点的color test.style.color;
getComputedStyle()
getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。
window.getComputedStyle("元素", "伪类");
-
CAD图纸打印出来后很多CAD文字消失了怎么办?
2020-09-22 16:50:19在使用浩辰CAD制图软件绘制完成图之后,经常需要将CAD图纸打印出来,但是有时候会出现在同样的图层、文字样式和颜色中预览打印后却只显示部分文字,这是什么原因导致的呢?该如何解决呢?接下来就以浩辰CAD制图软件... -
家装辅助设计软件(Sweet Home 3D) v4.6 中文安装版.zip
2019-07-10 02:44:24相对原版的英语语言,我在物件目录的分类以及部分物件名称的翻译上进行了一些处理,以更适合国人的使用。但我最终的理想是能够向其中加入一些软件中原本没有,但在国人家中比较常见的物件,如茶几、饮水机、热水器、... -
淘淘图片批处理之星.exe
2019-07-10 06:34:06创建PDF文件: 您可以为单个文件生成单独的PDF文件,也可以将多张图片放入一个PDF中。PDF文件具有防复制、防篡改的功能。而且图像表现能力也非常的好。现在很多国际际间的合同、合作文件都通过PDF来传递、保存。是... -
c语言编写单片机技巧
2009-04-19 12:15:17答:目前市场上的各类智能充电器,大部分都采用MCU进行充电电流和电压的控制。至于要在电脑上显示,好象并不实用,可能只有在一些专门的电池检测仪器中才会用到;对于一般的手机用户来说,谁会在充电时还需要用一台...