Linux有问必答:如何检查PDF中使用了哪种字体

Linux有问必答:如何检查PDF中使用了哪种字体

问题:我想要知道PDF文件中使用了什么字体,或者嵌入了什么字体。Linux中有工具可以检查PDF文档中使用了哪种字体吗?

要检查PDF文件中包含了,或者使用了什么字体,你可以使用命令行工具:pdffonts,它是一个PDF字体分析工具。pdffonts是Poppler PDF工具集包中的一个部分。

安装PDF工具集到Linux

要安装Poppler到Debian,Ubuntu或Linux Mint:


  1. $ sudo apt-get install poppler-utils

要安装PDF工具集到Fedora,CentOS或RHEL:


  1. $ sudo yum install poppler-utils

检查PDF字体

pdffonts可以列出PDF文档中使用的所有字体。pdffonts的基本用法如下。


  1. $ pdffonts doc.pdf

pdffonts工具显示了各个已使用的字体的各种信息,如字体名称/类型,或者字体是否内嵌等等。

如果一个PDF文档有多页,你可以使用“-f”(首页)和“-l”(末页)选项来限制字体扫描页面范围。例如,如果你想要找出某个文档中的5-10页中使用了哪种字体,运行该命令:


  1. $ pdffonts -f 5 -l 10 doc.pdf

原文发布时间:2014-08-27

本文来自云栖合作伙伴“linux中国”

时间: 2025-01-26 05:32:43

Linux有问必答:如何检查PDF中使用了哪种字体的相关文章

Linux有问必答:如何在PDF中嵌入LaTex中的所有字体

Linux有问必答:如何在PDF中嵌入LaTex中的所有字体 提问: 我通过编译LaTex源文件生成了一份PDF文档.然而,我注意到,并不是所有字体都嵌入到了PDF文档中.我怎样才能确保所有的字体嵌入在由LaTex生成的PDF文档中? 当你创建一个PDF文件时,在PDF文件中嵌入字体是一个好主意.如果你不嵌入字体,PDF浏览器可以在计算机上没有字体的情况下使用其他东西代替.这将导致文件被在不同的PDF浏览器或操作系统平台上呈现不同的样式.当你打印出来的文档时,缺少的字体是一个问题. 当你从LaT

Linux有问必答:如何检查我是否处于一个运行着的screen会话中

Linux有问必答:如何检查我是否处于一个运行着的screen会话中在一个screen会话中,还是在一个常规终端中.是否有一种简便的方法来检查我是否在一个运行着的screen会话中? 一个快捷而又简单的方法来检查你是否处于一个screen伪终端中,还是在一个常规终端中,就是检查STY环境变量.当调用了screen,就会把STY变量值设置为会话名.因此,如果STY环境变量被设置为任何非空字符串,就意味着你正处于一个screen会话中. $ echo $STY 2858.pts-3.my_host

Linux有问必答-如何在Linux中安装Go语言

Linux有问必答-如何在Linux中安装Go语言 Go (也叫 "golang")是一款由Google最初开发的编程语言.它自诞生就有几个设计原则:简单性.安全性和速度.Go语言发行版拥有各种调试.测试.调优和代码审查工具.如今Go语言和它的工具链在大多数Linux发行版的基础仓库都可用,用默认的包管理器就可以安装. 在Ubuntu.Debian 或者 Linux Mint上安装Go语言 下面是在基于Debian的发行版上使用apt-get来安装Go语言和它的开发工具. $ sudo

Linux 有问必答:如何在Linux中修复“fatal error: lame/lame.h: No such file or dir

Linux 有问必答:如何在Linux中修复"fatal error: lame/lame.h: No such file or dir 提问: 我尝试着在Linux中编译视频编码器,但是编译提示出错:"fatal error: lame/lame.h: No such file or directory", 我该如何修复这个错误? 下面的编译错误说明你的系统没有安装LAME库和它的开发文件. fatal error: lame/lame.h: No such file or

Linux 有问必答: 如何在Linux中加入cron任务

Linux 有问必答: 如何在Linux中加入cron任务 提问: 我想在我的Linux中安排一个计划任务,该任务在固定时间周期性地运行.我该如何在Linux中添加一个cron任务? cron是Linux中默认的计划任务.使用cron,你可以安排一个计划(比如:命令或者shell脚本)周期性地运行或者在指定的分钟.小时.天.周.月等特定时间运行.cron在你安排不同的常规维护任务时是很有用的,比如周期性地备份.日志循环.检查文件系统.监测磁盘空间等等. (题图来自 eagleapex.com)

Linux 有问必答:如何在debian及其衍生发行版中改变默认的 Java 版本

Linux 有问必答:如何在debian及其衍生发行版中改变默认的 Java 版本 提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境会设置一个"target"变量来设置程序可以运行的最低Java版本.如果你Linux系统上运行的程序不能满足最低的JRE版本要求,那么你会在运行的时候遇到下面的错误. Exception in thread

Linux有问必答:如何在Linux命令行中刻录ISO或NRG镜像到DVD

Linux有问必答:如何在Linux命令行中刻录ISO或NRG镜像到DVD 问题:我需要在Linux机器上使用DVD刻录机刻录一个镜像文件(.iso或.nrg)到DVD,有没有一个既快捷又简易的方法,最好是使用命令行工具? 最常见的两种镜像文件格式是ISO(.iso为文件扩展名)和NRG(.nrg为文件扩展名).ISO格式是一个由ISO(国际标准组织)创立的全球标准,因此被大多数操作系统所支持,它提供了很高的便携性.另一方面,NRG格式是由Nero AG开发的私有格式,Nero AG是一个很流行

Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动

Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动 提问: 我想为我的Intel 10G网卡下载安装最新的ixgbe驱动.我该如何在Ubuntu(或者Debian)中安装ixgbe驱动? Intel的10G网卡(比如,82598. 82599. x540)由ixgbe驱动支持.现代的Linux发行版已经带有了ixgbe驱动,通过可加载模块的方式使用.然而,有些情况你希望在你机器上的自己编译安装ixgbe驱动,比如,你想要体验ixbge驱动的最新特性时.同样,内核默认

Linux有问必答:如何在Linux上检查SSH的版本

Linux有问必答:如何在Linux上检查SSH的版本 Question:我想到SSH存在1和2两个版本(SSH1和SSH2).这两者之间有什么不同?还有我该怎么在Linux上检查SSH协议的版本? 安全Shell(SSH)通过加密的安全通信通道来远程登录或者远程执行命令.SSH被设计来替代不安全的明文协议,如telnet.rsh和rlogin.SSH提供了大量需要的特性,如认证.加密.数据完整性.授权和转发/通道. SSH1 vs. SSH2 SSH协议规范存在一些小版本的差异,但是有两个主要