工作中有些流程会用到PDF电子扫描件,当身边没有扫描设备时,通常会用手机拍照然后合成PDF。

有一个问题是:合成的PDF文件很大,甚至远大于照片本身大小。比如照片是4M的,合成的PDF文件就基本要30M的样子。

之前我尝试使用自带的功能,另存为时选择“Quartz滤镜”中的“缩小文件大小”选项,缩小的倍率很喜人,直接变成500KB左右的样子。但是照片里的文字变的很模糊,如果要求不高可以使用这种方式。

具体方法参考Apple的支持网站:

引用内容如下:

在 Mac 上的“预览”中压缩 PDF

若要节省储存空间,您可以在“预览”中压缩 PDF。

【注】压缩后,PDF 质量可能低于其原始质量。

在 Mac 上的“预览” App 中,打开想要压缩的 PDF。

选取“文件”>“导出”。(不要选取“导出为 PDF”。)

点按“Quartz 滤镜”弹出式菜单,然后选取“减小文件大小”。

可是这个质量太差了,还不能调整清晰度,无法满足很多场景的需求。

继续网上搜索一番,除了付费的一些软件外,还有人提到可以使用预览来减小PDF大小,尝试将PDF文件预览打开,然后再另存为新的PDF文件,还是一样的大小,不过排版上更规范了,每一页都统一铺满了页面,比较舒适。

可大小这个问题究竟咋弄呢?

一时没好的方案,就尝试了下在线体验缩小PDF文件的,结果发现免费只提供较小的压缩率供体验清晰度,声称付费就可以提供清晰度一致但大小更小的文件。

而拿到这个免费的尺寸依然较大的文件,同样再用上面的两种方式处理,结果惊奇的发现:

  1. “Quartz滤镜”中的“缩小文件大小”选项,依然会变模糊;
  2. 将PDF文件预览打开,然后再另存为新的PDF文件,文件也变小了,而且肉眼可见的清晰度没啥变化,非常意外_

不过这着实是有些甩小聪明了,而且这种方法一是麻烦,二是很可能将来也就不再可用了,更希望的MAC原生支持的“压缩PDF”能达到这个肉眼可见没大差别的效果。

作为外行,不晓得这个技术的实现难度系数有多少?

小知识:MAC上使用预览功能来减小PDF大小的更多相关文章

  1. JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)

    需要解决的问题有:本地图片如何在上传前预览.编辑:最近发现这个功能很多是基于flash实现的,很多JavaScript实现的代码兼容性都很差,特别是在IE和firefox和chrome三个浏览器上不兼 ...

  2. JQ实现图片上传预览功能

    <input type="file" name="img" id="test1"> <img src="&quo ...

  3. js实现图片上传预览功能,使用base64编码来实现

    实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般 ...

  4. React + js-xlsx构建Excel文件上传预览功能

    首先要准备react开发环境以及js-xlsx插件 1. 此处省略安装react安装步骤 2.下载js-xlsx插件 yarn add xlsx 或者 npm install xlsx 在项目中引入 ...

  5. HTML+Jquery实现多图片上传预览功能

    HTML:使用input的onchange事件,它一改变就触发事件 <p id="p3"> <input name="File" onchan ...

  6. 使用ajax,结合jquery,php实现图片上传预览功能

    大致逻辑:点击页面的file,上传图片到指定的php处理图片的文件,处理完成以后,将图片的连接地址返回,JS控制返回的数据,然后将图片动态的展示出来html代码<label> <im ...

  7. js实现图片上传预览功能,使用base64编码来实现

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. jQuery插件ImgAreaSelect 实例讲解一(头像上传预览和裁剪功能)

    上一节随笔中,我们已经知道了关于jQuery插件ImgAreaSelect基本的知识:那么现在看一下实例: 首先,要知道我们应该实现什么功能? (1)图片能够实现上传预览功能 (2)拖拽裁剪图片,使其 ...

  9. 分离与继承的思想实现图片上传后的预览功能:ImageUploadView

    本文要介绍的是网页中常见的图片上传后直接在页面生成小图预览的实现思路,考虑到该功能有一定的适用性,于是把相关的逻辑封装成了一个ImageUploadView组件,实际使用效果可查看下一段的git效果图 ...

  10. 用原生JS实现多张图片上传及预览功能(兼容IE8)

    最近需要做一个图片上传预览的功能(兼容IE8-11.chrome.firefox等浏览器),网上现有的文件上传组件(如webuploader)总是会遇到一些兼容性问题.于是我参考了一些博文(链接找不到 ...

随机推荐

  1. 五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore

    系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...

  2. 深度学习降噪专题课:实现WSPK实时蒙特卡洛降噪算法

    大家好~本课程基于全连接和卷积神经网络,学习LBF等深度学习降噪算法,实现实时路径追踪渲染的降噪 本课程偏向于应用实现,主要介绍深度学习降噪算法的实现思路,演示实现的效果,给出实现的相关代码 线上课程 ...

  3. java基础-java面向对象-02-day09

    目录 1. 封装 2. 继承 2.1 什么是方法的重写 2.2 super 2.3 object详解 2.4 equals方法 3. 多态 4. final修饰符 5.抽象类 6. 接口 7. 内部类 ...

  4. netstat 命令查看端口状态详解

    转载请注明出处: netstat 可以查看服务器当前端口列表及指定端口的连接状态等: -t : 指明显示TCP端口,t是TCP的首字母. -u : 指明显示UDP端口,u是UDP的首字母 -p : 显 ...

  5. 基于Html+腾讯云播SDK开发的m3u8播放器

    周末业余时间在家无事,学习了一下腾讯的云播放sdk,并制作了一个小demo(m3u8播放器),该在线工具是基于腾讯的云播sdk开发的,云播sdk非常牛,可以支持多种播放格式. 预览地址 m3u8pla ...

  6. 【VSCode】秒下vscode

    有时从vscode官网下载速度奇慢甚至失败,介绍一种方法可以秒下 进入官网选择要下载的版本 像我的电脑,下载网址根本打不开 修改下载网址,替换下载地址中红框字符串:vscode.cdn.azure.c ...

  7. [转帖]Nacos使用2.0.1版本启动出现9848端口错误的解决方式(亲测有效)

    目录 一.背景 二.报错如下 三.报错原因 四.解决方式 一.背景 nacos服务端和客户端都是 2.x版本. centos7使用原始安装nacos单机版,没有使用docker安装naocs集群. 二 ...

  8. [转帖]你应该知道的Shell 脚本的经典十三问

    https://blog.csdn.net/wangzhicheng987/article/details/131031344 1. 为何叫做shell? 我们知道计算机的运作不能离开硬件,但使用者却 ...

  9. 【转帖】nginx变量使用方法详解-2

    https://www.diewufeiyang.com/post/576.html 关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的.其实不然.我们 ...

  10. 【转帖】x86服务器中网络性能分析与调优(高并发、大流量网卡调优)

    最近在百度云做一些RTC大客户的项目,晚上边缘计算的一台宿主机由于CPU单核耗被打满,最后查到原因是网卡调优没有生效,今天查了一下网卡调优的资料,欢迎大家共同探讨. 一.网卡调优方法 1.Broadc ...