PDF文件优缺点
PDF的优点:
一般公司的公文档都是用PDF格式传递给员工,因为PDF可防止他人无意中触到键盘修改文件内容。
再有就是,当我们将毕业设计报告用word编辑后,发送给导师查看时,也建议采用PDF格式。因为不用版本的office word可能回产生格式错乱的情况,但是PDF不会。
还有,当文档转换成PDF格式后,所占用的内存空间将会减少,更便于传输。
转换成PDF后可以避免其他软件产生的不兼容和字体替换问题,使得文档的灵活性提高。
阅读PDF的软件的页面都相对简单。用户浏览页面更加方便,可以随意放大或者缩小。
PDF格式文档可以由好多种软件转换而来。如office word或者Photo Shop都可以转换成PDF格式的。
PDF格式同样支持打印和添加注释等内容。我们在阅读文档时可以边读边在所读内容旁边添加注释,方便实用。
然后是PDF的缺点:
修改太不方便了,避免了无意的修改,同时妨碍了正常的修改。
说PDF文件个头小的,我想是相对doc格式而言的,但docx天生是压缩的。拿我的一个文件对比,PDF是1137KB,转成docx是724KB。
PDF格式文档可以由好多种软件转换而来,但就是难以转成其它格式,转成WORD后的格式接受起来也是很勉强。但WORD转成PDF效果就好多了。
由于PDF的显示高保真,方便放大缩小,同时也就不方便在各种尺寸(准确地讲是DPI)的显示器上观看。比如在kindle上,就怎么放大缩小都不舒服,除非是专为kindle屏幕差不多大小制作的。
PDF是最终的输出,若要修改应该找“源稿”一般是WORD。WORD好比源代码,PDF就是编译好的exe(可执行文件)。要改就在源代码上改,然后再输出为exe。若要直接在exe文件上改,就是自讨苦吃。
经常遇到有PDF转WORD的需要,用了多种工具,效果往往不理想。
WORD强大的功能,不用我多说吧,PDF编辑器简直弱暴了。
结论:
PDF优缺点各半,使用前请三思。
如果有意让人修改,请发出PDF的同时附上Word(doc/docx)文件。
PDF文件优缺点的更多相关文章
- .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...
- C#如何在PDF文件添加图片印章
文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述 ...
- C# 给PDF文件添加水印
水印种类及功能介绍 PDF水印分为两种:文本水印和图片水印.文本水印一般被用在商业领域,提醒读者该文档是受版权保护的,其他人不能抄袭或者免费使用.除了这个特征,水印还可以用来标记这个文档 的一些基 ...
- 如何给现有的PDF文件添加页码
如何给现有的PDF文件添加页码 之前我写了如何打印PDF文件,有人qq问我怎样在打印时给PDF文件添加页码,的确,给PDF文件添加页码,可以帮助我们区分纸质档的PDF文件页面的先后顺序,方便我们对它的 ...
- C# 合并及拆分PDF文件
C# 合并及拆分PDF文件 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯定想要把这些PDF文件合并为一个 ...
- C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...
- .Net导出pdf文件,C#实现pdf导出
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...
- pdf文件的导入导出
下面的代码自己本人没有尝试过,只是用来做记录,用到时候再说! 最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itext ...
- dotnet获取PDF文件的页数
#region 获取PDF文件的页数 private int BytesLastIndexOf(Byte[] buffer, int length, string Search) { if (buff ...
随机推荐
- js下拉框:从数组中筛选出匹配的数据
handleChange(val) { let obj = {} // 遍历数组 obj = this.options.find(item => { // 筛选出匹配的数据 return ite ...
- 网站分析平台:是选择百度统计,还是 Google Analytics 呢?
当你拥有个人博客或个人网站时,你一定需要一个平台来分析你的网站状况.之前我在法国只是使用 Google Analytics,后来回国发现这个平台在国内受限制了,于是我找到了百度统计,目前我同时使用这两 ...
- 【Unity游戏开发】tolua之wrap文件的原理与使用
本文内容转载自:https://www.cnblogs.com/blueberryzzz/p/9672342.html .非常感谢原作者慷慨地授权转载,比心!@blueberryzzz 是位大神,欢迎 ...
- python 基础部分重点复习整理2
把这里的题目争取刷一遍 博客记录 python的ORM框架peewee SQLAlchemy psycopg2 Django 在1 的基础上,重点突出自己以前没注意的,做到精而不杂!!! Python ...
- maven项目导入依赖jar包并打包为可运行的jar包
1.在pom.xml文件中添加插件 <build> <finalName>LeadServer</finalName> <!-- jar包名前缀,如果没有指定 ...
- Ext.net按钮事件中使用Response.Redirect的一个问题
今天遇到一个Response.Redirect问题 通过Ext.net按钮写发送事件时,连接中会多出一个&,如果后台不进行UrlEncode操作的话,就会出问题,可是很不幸的是,有些跳转 ...
- Storage 002 电商数据库设计
[用户模块] 账户登录:邮箱/用户名/已验证手机 密码 如果将所有字段都放到一张表里存储? 数据插入异常 只想插入一个值的 由于需要主键信息,插入的一行变成新的一行,和原来的记录无关. ...
- Keep面经汇总
目录 一.Java 线程如何终止 如何用一个cancel方法停止两个线程 泛型原理.使用场景.优缺点 手写代码,设计parseInt hashmap是怎么实现的,是线程安全的吗 知道hashmap的扩 ...
- HG奋斗赛B[20190429]
T1 >传送门< 记忆化搜索,听说有更简单的方法(但博主比较菜) #include <cstdio> #include <cstdlib> #define ll l ...
- LeetCode第二十一题-对两个有序链表排序
Merge Two Sorted Lists 问题简介:合并两个已排序的链表并将其作为新链表返回 举例: 输入: 1->3->5, 1->2->4 输出: 1->1-&g ...