首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式或通过调用外部实用程序从PDF提取字体

以编程方式或通过调用外部实用程序从PDF提取字体
EN

Stack Overflow用户
提问于 2009-11-18 00:40:20
回答 3查看 769关注 0票数 0

我正在开发PDF到电子书的转换器,这将在服务器上运行。

我需要以编程方式从PDF文件中提取嵌入式字体来完成该项目。现在我可以提取图像和文本,但为了在Flash播放器中准确显示内容,我需要从PDF中提取字体并编译为SWF,以便在运行时由Flex应用程序加载。

我想知道这是否可能,因为SWFTools的pdf2swf.exe这样的工具可以做到这一点。我已经反编译了这个工具生成的swf文件,里面嵌入了字体。

提取的字体将用于仅在Flash player中显示PDF文件中的相同内容。所以我认为这不会侵犯任何权利?此外,将使用该转换器的人拥有PDF文件内容的所有权限。

所以我看到了下一个工作流程: 1.调用pdf2swf.exe生成嵌入字体的SWF文件;2.调用某个工具(哪个?)要将以前的SWF解析为具有单独字体的SWF,请执行以下操作。3.在运行时将带有字体的SWF加载到Flex应用程序,以正确显示内容。

如果有一些工具可以直接从PDF中提取字体到SWF,那就太好了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-18 01:50:23

我不确定有没有免费的工具可以通过CLI直接从PDF中提取字体。但是使用第一个工作流(使用swftools 0.9.0)可以实现这一点。假设你想用ruby:

代码语言:javascript
复制
//extract all the font ids
fontids=`swfextract.exe #{swf_file}|grep Fonts|cut -d\) -f 2|sed -e "s/ //g"`
//extract all the fonts into output.swf
system("swfextract -F #{fontids} #{swf_file}")

票数 1
EN

Stack Overflow用户

发布于 2009-11-18 05:49:26

如果字体设置了子集,则需要使用与PDF文件中相同的子集来制作和理解它。

票数 1
EN

Stack Overflow用户

发布于 2015-10-27 06:33:35

您可以使用mutools 1从PDF中提取字形(不是直接字体)。

然后,可以使用FontForge 2将字形转换为字体

1

2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1750143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档