本章将描述一个很重要的元素——文字,这是一个既简单,又复杂的元素,随着PDF的发展,由原来的复杂设计,慢慢的趋于简单和成熟。下面我们来了解一下:

文字有三个要素:

1、文本状态。这些状态从属于图形状态(子集),其中包括指定字体、字形缩放、颜色等。

2、文本对象和运算符。文本运算符指定要绘制的字形,这些字形由字符代码序列表示。文本对象,则是由一系列文本运算符包含起来的内容和相关参数组成。

3、字体数据结构。字体词典和相关的数据结构,保存了字体相关信息,尤其是字形(glyphs)。字形本身的定义应包含在字体字典中中,也就是可以嵌入到PDF文件中,也就是大家常说的嵌入字体,当然也可以不嵌入,这样相关信息,作为浏览器就要从外部字体文件中获取。

注:顺便提一下,嵌入字体,会让PDF文件变得臃肿,但是,在某些时候,也有不得不这样做的原因:为了在所有的设备上,展示出来的文字效果是一致的,尤其是在印刷行业(打印出来的字体效果必须是一样的)。PDF对于没有嵌入的字体,会根据字体名称查找系统下是否存在该字体,如果不存在会有替换原则,选择类似字体,所以,在不同设备上,同一个PDF上的文字,如果系统下字体文件不同,对于非嵌入字体描述的文字,显示的效果就可能不一致。

首先,要理解什么是字形:对于用一个字符A,粗体、斜体和粗斜体,就是三种不同的字形,使用宋体、隶书,也是不同的字形。

其次,文本运算符,对于

PDF格式分析(六十) Text 文字——简介相关推荐

  1. PDF格式分析(十二)Cross-Reference Table 交叉引用表

    PDF交叉参考表是PDF文件的重要部分.该表保存了所有简介对象在PDF文件中物理偏移地址.该表在文件中可以存在单个,也可以存在多个.多个交叉引用表通常出现在两个情况:一.增量保存,二.线性化. 通常, ...

  2. PDF格式分析(十五)PDF安全(加密、解密)

    PDF加密方式目前已经增加为三种: 1.口令加密 2.证书加密 3.Adobe LiveCycle Rights Management 口令加密: 作为第一代PDF安全加密方式,到现在也一直广泛应用. ...

  3. PDF格式分析(六十七) Text 文字——字符编码( Character Encoding)

    字体编码是字符代码和字形描述之间的关联关系,对于程序员来说,字符编码非常熟悉,经常遇到的乱码问题,基本上都是字符编码不正确造成的. 本章节将描述用于简单PDF字体的字符编码方案.复合字体(Type 0 ...

  4. PDF格式分析(一)简介

    概述 PDF文件是一种编程形式的文档格式,它所有显示的内容,都是通过相应的操作符进行绘制的. PDF基本显示单元包括:文字,图片,矢量图,图片 PDF扩展单元包括:水印,电子署名,注释,表单,多媒体, ...

  5. PDF格式分析(十一)PDF/E简介

    PDF/E标准定义了以PDF格式使用和交换工程文档的条件.它允许包含动态内容(如3D模型)以及何种批注,同时还要求在PDF文件中提供所有内容和资源以保证可靠地查看和打印. PDF/E-1要求在PDF文 ...

  6. PDF格式分析(六十六) Text 文字——简单字体

    这个章节,我们来看看介绍一下简单字体. 简单字体,一般都具有以下属性: 文本显示运算符(如Tj)显示的字符串由单字节字符代码组成.从逻辑上讲,这些代码会索引到一个包含256个glyph的表中:从代码到 ...

  7. PDF格式分析(六十一) Text 文字——字体的使用

    一.概要 对于我们来说,文字是抽象的符号,表示特定的含义,而字形是文字以特定的图形在纸张或屏幕上的具体呈现. 上面的三张图,就是同样的文字使用不同的字形而呈现的效果. 一组字形的集合,就形成了字体.宋 ...

  8. PDF格式分析(五十九) Color Spaces 颜色空间

    因为PDF主要的应用领域是印刷行业,因此对颜色的要求比较严格,而且支持的颜色空间的类型特别多,通常分为三大类: 设备颜色空间,直接指定输出设备要生成的颜色或灰度.它们提供了各种颜色规格方法,包括灰度. ...

  9. PDF格式分析(五十二)Digital Signatures 数字签名

    数字签名(PDF 1.3)可用于验证用户的身份和文档的内容. 它在签名时,保存了有关签名者和文档状态的信息. 签名可以是纯数学的,例如公钥/私钥加密文档摘要,也可以是生物识别形式的,例如手写签名,指纹 ...

最新文章

  1. Django进阶-auth集成认证模块
  2. sql server两种分页方法
  3. VMWare 虚拟化 Ubuntu 64 (16.04)-- docker 无法链接 pull 镜像 ?(solved)
  4. 面向对象的 飞鸽传书 思想
  5. 【java】JMH微基准测试,报错Unable to find the resource: /META-INF/BenchmarkList
  6. java正则出现次数_正则表达式(二)—匹配次数的正则
  7. 2021Java面试题汇总,最常见的面试题都在这里
  8. Unity学习笔记:unity脚本常用API
  9. matlab申明数值型的符号常量,实验四 MATLAB符号运算
  10. Spring Bean的作用域
  11. 电影图标-黑客帝国(The Matrix)
  12. win7 计算机休眠,WIN7如何关闭睡眠和休眠方式(真正的)
  13. c语言中专业英文词汇的意思,C语言常见英文词汇表
  14. c语言编码任务描述,C语言委派任务问题代码及解析
  15. dcloud html5 sdk,DCloud H5与Android Native的交互--5+ SDK插件开发
  16. mysql ubuntu 应用记录 --- Head First SQL (一)
  17. FPGA 之 SOPC 系列(九)SOPC 补充:altera与xilinx对比
  18. string.h头文件里的函数源代码及调用(尝试编写)
  19. 服装店老板娘都会的高级营销策略
  20. java计算器源代码_【原创源码】【Java】飞扬计算器源代码

热门文章

  1. Win11系统安装NET3.5失败解决方案
  2. 关于梯度下降法和牛顿法的数学推导
  3. UE4-上传图片到服务器
  4. mybatis解决字段和属性的映射关系3 - 通过resultMap设置自定义映射关系
  5. 前端岗位初入职场后的最初一段时间需要做什么
  6. HTML+CSS网页制作:一个简易美观的登录页面实例代码
  7. Unity中嵌入Echarts图表
  8. Winform初学 ---01设计一个简易的浏览器
  9. 基于卷积神经网络的人脸表情识别(JAFFE篇)
  10. 华夏银行招聘计算机笔试题,2019华夏银行春季招聘模拟试题及答案:计算机部分...