python 字体颜色_python – 以编程方式更改PDF中文本的字体颜色

这是可能的,但不一定容易,因为PDF格式是如此丰富.您可以在

here中找到详细描述它的文档.它提供了有关PDF如何显示文本的第一个基本示例:

BT

/F13 12 Tf

288 720 Td

(ABC) Tj

ET

BT和ET是开始和结束文本对象的命令; Tf是一个使用外部字体资源F13(恰好是Helvetica)的命令,大小为12; Td是将光标定位在给定坐标处的命令; Tj是为前一个字符串写入字形的命令.味道有些“反向抛光符号” – 而且确实非常接近Postscript的味道,后者是Adobe对排版的其他重要贡献之一.

问题是,PDF规范中没有任何内容表明“看起来像”它一样在页面上显示的文本必须实际上“在一起”;因为总是可以给出精确的坐标,如果PDF是由复杂的排版布局系统生成的,它可以通过坐标逐个字符地精确定位文本.因此,以单词和句子的形式重建文本并不一定容易 – 它几乎和光学文本识别一样难,除了你精确地给出了字符(好吧 – 差不多……一些所谓的“图像”实际上可能显示为字符… ;-).

pyPdf是一个非常简单的纯Python库,是玩PDF文件的一个很好的起点.它的“文本提取”功能非常简单,除了连接一些文本绘图命令的参数外什么都不做;你会看到某些文档就足够了,并且在其他文档中无法使用,但至少它是一个开始.作为分布式,pyPdf几乎没有颜色,但有一些黑客可以补救.

reportlab强大的Python库完全专注于生成新的PDF,而不是解释或修改现有的PDF.另一方面,纯Python库pdfminer完全专注于解析PDF文件;它确实进行了一些聚类,以便在更简单的库被难倒的情况下尝试重建文本.

我不知道现有的库可以执行你想要的转换任务,但是混合和匹配其中一些现有的库应该是可行的,以便完成大部分工作……祝你好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值