工作中有些流程会用到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. 你折腾一天都装不上的插件,函数计算部署 Stable Diffusion 都内置了

    在进行函数计算 Stable Diffusion 答疑的过程中,遇到很多同学在装一些插件的过程中遇到了难题,有一些需要安装一些依赖,有一些需要写一些代码,很多时候安装一个插件就能折腾几天,我们收集了很 ...

  2. mybatis-plus数据批量插入

    为了提高数据处理效率,大量数据需要插入数据时可以采用批量数据插入的策略提高数据插入的效率. 如下是实现方法 1.代码结构 2.实体类 package little.tiger.one.applicat ...

  3. java项目实战-tomcat-SpringMVC-基本用法01-day25

    目录 1. maven创建 war项目 2. SpringMVC 1. maven创建 war项目 什么是jar项目 什么是war项目? jar项目: 由main方法来开始的 直接依赖JVM就能编译运 ...

  4. kafka 的基本概念及使用场景

    本文为博主原创,未经允许不得转载: 1. Kafka 的使用场景: 1.日志收集:一个公司可以用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种 consumer,例如ha ...

  5. 【MCU】浮点数如何判等

    [来源]https://mp.weixin.qq.com/s/481H4imm73IIS1yFI7-DNA

  6. C#调用C++——CLR方式

    一直是在写C#,最近接触到的项目中有C#调用C++接口的逻辑,自己学习了下,写个步骤日志,C#掉用C++的托管代码 项目分三个项目:1.底层C++动态库项目,2.中间层的CLR项目,3.上层的C#项目 ...

  7. [转帖]5. Tikv安装部署

    5. Tikv安装部署 5.1. 概述 TiDB 是 PingCAP 公司自主设计.研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactiona ...

  8. [转帖]linux 批量修改文件格式

    将Windows上的shell脚本拷贝到Linux时,脚本的编码格式还是docs,需要改成unix才可执行,在文件不多的情况下可以直接手动更改,但是在脚本文件比较多的时候,手动改起来就太麻烦了,此时就 ...

  9. [转帖]Chrome 109发布,最后一个支持Windows 7/8的版本

    https://www.163.com/dy/article/HQR3QQFD0511CUMI.html 出品 | OSC开源社区(ID:oschina2013) Google 在去年 12 月 1 ...

  10. ARM下KVM虚拟化的损耗验证--redis

    ARM下KVM虚拟化的损耗验证 摘要 看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高. 突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗 没有考虑虚 ...