Comments (15)
各位朋友,PDF补丁丁今天有了一个新的测试版本。
它增强了自动生成书签的功能,针对字体尺寸相同的场合,允许通过匹配特定模式的标题来指定书签的级别。这个功能还不完善,后面还会继续优化。
先添加一个要自动生成书签的样式到自动生成书签列表,指定它的标题级别。
再添加另一个自动生成书签的样式到自动生成书签列表,指定它的标题级别,然后,再选择“文本识别模式”中已定义好的标题样式。
请记得取消“合并相同字体尺寸的标题”选项。
祝各位网友的母亲节日快乐!
from pdfpatcher.
其实更好的方法是提供一个自己可以输入正则的编辑框
是的。有空再加上去。
from pdfpatcher.
有样本文件吗?
from pdfpatcher.
茅台股份2020年 年报 https://www.moutaichina.com/maotaigf/resource/cms/article/408431/509361/2021033108591131837.pdf 年报格式很标准,麻烦大佬看下!
这里有茅台其他年份的报告
from pdfpatcher.
from pdfpatcher.
我看了一下,后面的这个使用PDFPatcher很好办啊,找几个标题右键添加就可以了。但是茅台那个不太好办,因为它的次级标题和其它内容比较混杂。
from pdfpatcher.
对于类似茅台年报的文档,之前也有网友提议过,增加按文本模式(正则表达式)筛选内容的功能。
from pdfpatcher.
简单实现的话 我觉得是不是可以
- 一级目录按照现有方法识别
- 确定是不是二三级目录,通过判断 是否粗体?是否只有一行?开始位置是否包含 特殊字符( 1-9,大写数字 小括号等字符)
from pdfpatcher.
我觉得这些简单的策略基本就满足大部分年报了 就可以了
from pdfpatcher.
目前使用的组件(mupdf)有其功能局限性,例如无法判断“是否粗体”,也无法判断颜色之类的样式。
from pdfpatcher.
不能判断粗体确实挺伤的,如果能判断粗体就很容易了
from pdfpatcher.
我用Foxit PDF Editor和mutools调试了下茅台年报的pdf,发现粗体文字有以下特征:
Foxit PDF Editor:
粗体:文本模式是填充然后笔画文本
普通:文本模式是填充文本
mutools:
粗体: pdf-interpret.c op_TJ
/* text showing */
case B('T','J'): if (proc->op_TJ) proc->op_TJ(ctx, proc, csi->obj); break;
普通: pdf-interpret.c op_rg
case B('r','g'): if (proc->op_rg) proc->op_rg(ctx, proc, s[0], s[1], s[2]); break;
查阅PDF Reference后,有如下描述和示例:
TJ: 正常使用Tj和其他字形绘制操作导致黑色填充字形被绘制。通过常规字形操作和结合字体操作可以获得其他效果。
rg:
0.0 1.0 0.0 rg % Set nonstroking color to green
基于以上分析,应该可以通过这2个op的区别来区分普通还是粗体。
@wmjordan
from pdfpatcher.
@mokacao 非常感谢您的参与,但实际情况不是你上面所说的那样的。
我已经用 PDF 补丁丁的“文档结构探查器”来分析过那个文档。那个文档是通过描边线来实现粗体效果的。
我得再花一些时间来分析是否有可能用 MuPDF 来解析文档的渲染过程。它目前提供的结构文本接口并不够用,要更深入地介入渲染过程(可能要借助 device)来获取所需要的信息。
from pdfpatcher.
哭求一个全部大写的条件。(其实更好的方法是提供一个自己可以输入正则的编辑框。)
祝所有母亲节日快乐!
from pdfpatcher.
最新的测试版已经支持输入正则表达式,但是对于一行文本有多种不同字体的情况还不能完美地处理。
而这种情况又非常常见,需要继续生成书签文本的算法。
from pdfpatcher.
Related Issues (20)
- 文档结构查看器不能删除命令 HOT 1
- PDF补丁丁的开发将暂停一段时间 HOT 3
- Win10图片 旋转的 jpg 无法正常获取 HOT 6
- 双层pdf能不能将背景图片去掉,前景文本层改为黑色,这个有方法实现吗?
- 建议将导出图片命名不要省略每页第一张图后的[1]
- 识别文本语言无法使用 HOT 1
- 遇到一个无法打开的文档 HOT 2
- 是否可以增加新功能:裁剪内容?比如从A3裁剪到A4 HOT 1
- 能加入和撤销对应的恢复功能吗
- 打开特定PDF进行编辑时,pdfpatcher崩溃退出 HOT 4
- 嵌入字体遇到报错 HOT 1
- 文件夹内奇数页的pdf自动插入空白页 HOT 2
- 有文件在使用“提取图片”功能后变成碎纸机长条了 HOT 2
- 合并文档自动生成目录 HOT 2
- 可不可以优化一下PDF输出 HOT 3
- UI交互方面一些大幅提升操作效率的想法 HOT 5
- 增加文本搜索的功能
- 能否支持设定每次打开补丁丁,视图都固定为缩放:“适合页面”页面布局:“单页”翻页 HOT 1
- 能否添加先进的图像优化算法用于压缩PDF
- 暂时停止接收增加功能的请求
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pdfpatcher.