我用PDFBOX版本2将两个PDF文件合并为一个。第一个文件有字体:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
XXMGEM+Arial-BoldMT TrueType WinAnsi yes y
我有一个私有PDF文档,它大约有0.6MB,但是当我用PyPDF2对它进行水印时,它会增长到12 MB (水印文档是< 0.4MB)。我认为这与压缩有关,但我不明白是怎么回事。
它特别让我感到困惑,为什么原始PDF如此庞大(未压缩)。
No图片无嵌入式文件仅15页,提取的文本有1467个字符
我在想,它可能是嵌入式字体:
$ pdffonts example.pdf
name type encoding emb sub uni object ID
-----------------
我使用枕头库来创建一个由不同的字符串组成的映像,但是当我使用"ImageFont.truetype("sans-serif.ttf",16)时,这一行给了我一个例外:
raise ImportError("The _imagingft C module is not installed")
ImportError: The _imagingft C module is not installed
这个异常只有在我在MAC中执行代码时才会出现,当我使用Windows/Linux时,执行就会很顺利。我怎样才能让它在MAC中工作呢?
我使用pdffonts来获取pdf文档中的字体。下面是示例输出
$ pdffonts "some.pdf"
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
TimesNewRoman TrueType
有人能改进这一点吗?我是python的新手,正在尝试编写可移植的代码。我需要找到要传递给ImageDraw.Draw.Text的字体文件。
import matplotlib.font_manager as fontman
def findFontFile(searchFont):
fList = fontman.findSystemFonts(fontpaths=None, fontext='ttf')
targetFont = []
for row in fList:
try:
if searchFont i