首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDF标准详解(二)——PDF 对象

上一篇文章我们介绍了一个PDF文档应该包含的最基本的结构,并且手写了一个最简单的 “Hello World” 的PDF文档。...后面我们介绍新的PDF标准给出示例时将以这个文档为基础,而不再给出完整的文档示例,小伙伴想自己测试可以根据上一节的文档来进行配置。...对象 上一节我们看到一个个奇奇怪怪的元素,可能也好奇它们的写法,现在我们来正式介绍它们的相关内容,它们就是PDF文档中一个个的对象。...PDF 支持5种基本对象: 整数和实数:例如43和12.2 这种数字 字符串,PDF种字符串被包裹在小括号中,例如上一节中的 (hello world), 我们也可以给字符串制定编码,这个在后面介绍 名称...1 /Type /Pages >> 对象中就包含间接引用,PDF解析器,知道这个对象是一个Pages对象之后,可以通过Kids 对象指定的间接引用对象知道,当前PDF文档只有一页,这个页面对象就是2

20410

PDF标准详解(一)——PDF文档结构

通过之前Vim系列教程的启发,我发现还是写一些系列文章对自己的帮助最大。它能最大化自己的学习成果,并强迫自己深入了解一些内容。...早期是Adobe专有格式,直到2008年作为开放标准发布。...后续经过一系列的发展,目前已经发展到了2.0版本,由于PDF完全向后兼容,并且大部分都是向前兼容的,因此,这里不打算固定在某个具体的版本,而是介绍一些PDF通用的标准和规则。...PDF的文档结构 PDF主要由四个部分构成,文件头、文件体、交叉引用表以及文件尾 文件头将文件标识为PDF并给出它的版本号,例如 %PDF-1.0 % PDF 版本号为 1.0 的文件头 文件体是...,只单独解析某个对象,提高了解析效率 文件尾给出交叉引用表的位置并且以 %%EOF 作为结尾 PDF文件的逻辑结构 一个标准PDF文档需要在文件体中包含下列元素对象: 根节点元素,类似于xml的根节点

35110
您找到你想要的搜索结果了吗?
是的
没有找到

Linux学习 - 管道、标准输入输出

Linux下的标准输入、输出、重定向、管道 在Linux系统中,有4个特殊的符号,’, ‘|’, ‘-‘,在我们处理输入和输出时存在重要但具有迷惑性的作用。...默认Linux的命令的结果都是输出到标准输出,错误信息 (比如命令未找到或文件格式识别错误等) 输出到标准错误,而标准输出和标准错误默认都会显示到屏幕上。...>表示重定向标准输出,> filename就是把标准输出存储到文件filename里面。标准错误还是会显示在屏幕上。 2 >&1 表示把标准错误重定向到标准输出。...Linux终端用2表示标准错误,1表示标准输出。 - (短横线):表示标准输入,一般用于1个程序需要多个输入的时候。 <标准输入,后面可以跟可以产生输出的命令,一般用于1个程序需要多个输入的时候。...unexisted_command 运行这个脚本 # 标准输出和标准错误默认都会显示到屏幕上 ct@ehbio:~$ bash stdout_error.sh I am std output stdout_error.sh

4.1K60

PDF标准详解(三)—— PDF坐标系统和坐标变换

这次我们仍然以它为切入点,来了解PDF的坐标系统以及坐标变换的相关知识 图形学中二维图形变换 中学我们学习了平面直角坐标系,x轴沿着水平方向从左往右递增,Y轴沿着竖直方向,从下往上坐标递增。...而PDF的坐标系与数学中的坐标系相同。...但是PDF的坐标是有单位的,PDF的坐标单位为磅,一般来说他们与英寸等的转化关系为 1 磅 = 1/72 英寸 因为PDF需要做到设备无关,也是就是在不同的显示像素和打印机上,显示的长度都一致,所以这里不能采用像素做单位...PDF中表现为 a b c d e f。...本节主要介绍了图形变换矩阵以及PDF中变换矩阵的操作符cm以及q/Q 这一对保存和还原图形状态的操作符

20810

资料 | 机器学习数学基础教程PDF下载】

这本书并没有涵盖前沿的机器学习技术,而是通过该书提供阅读其他书籍所需的数学基础。共分为两部分:数学基础知识和使用数学基础知识进行机器学习算法示例。值得初学者收藏和学习!...因此,本书的目标受众包括普通大学生、夜校生和机器学习在线课程的学习者等等。...简介(Introduction) 本书分为两部分,第一部分是数学基础的讲解,第二部分是将第一部分的数学概念应用于基本的机器学习问题中,从而形成“机器学习四大支柱”,如下图所示: ?...作者解释了如何将本书第一部分介绍的数学概念应用于机器学习算法的设计中。在第8章中,作者以数学的方式重述了机器学习的三个组成部分(数据、模型和学习)。...在第二部分中,作者提供了一些编程教程(jupyter记事本)来探索在本书中讨论的机器学习算法的一些特性。 全书配套网站:https://mml-book.com

2.9K50

Linux系列教程(三)——Linux学习技巧

前面我们讲了Linux系统的详细安装教程,大家跟着教程一步一步的操作,应该能完美的完成安装。那么这篇博客跟大家聊聊如何来学习Linux。...配置完成之后,我们就能通过Xshell5来连接Linux系统上,通过这个工具来控制Linux系统是很方便的。而且还能同时控制多个Linux机器。如下: ?   ...所以操作Linux系统和windows系统的区别比较大,比如windows系统我们一般会把系统安装在C盘,windows系统有盘符的说法,而Linux没有,Linux的基本思想有两点:第一,一切都是文件...所以后面我们讲的Linux命令介绍,都会给出命令所在的文件目录。但是不管怎么说,大家刚上手由于先入为主的原因,可能对Linux操作感觉不自在,但是当你习惯之后,你会爱上Linux的命令行的。...4、总结   本章我们介绍了Linux学习的工具和方法,大家初学者不要被Linux古怪的命令行感到奇怪和不自在,大家知道顶级的黑客操作都是命令行吧。

1.6K70

Linux学习_菜鸟教程_1

Linux系统启动过程:内核的引导 、运行init、系统初始化、建立终端、用户登录系统 内核引导:计算机开机,然后BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。...Linux有7个运行级别。 系统初始化:主要完成激活交换分区、检查磁盘、加载硬件模块、以及其他一些需要优先执行的任务。...用户登录系统: (1)命令行登录(2)SSH登录(3)图形界面登录 图形模式与文字模式的切换方式: Linux预设提供了六个命令窗口终端机来让我们登录。...Linux关机 正确的关机流程 sync >shutdown>reboot>halt 关机指令:shutdown ,man shutdown查看帮助文档 如果需要切换到root用户,用sudo su....好了,上午份的Linux学习完毕。主要学习Linux的开机启动流程,和常用的开关机指令。

73920

以太坊开发教程pdf

如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化电商应用开发实战 搜集整理的以太坊开发教程pdf电子书,放在百度云盘上了:...基本概念 区块链、以太坊的一些基本概念、核心思路及关键算法方面的教程。...13T4yyjViGEWTbQZJ_fHbiw 以太坊官方文档中文版:https://pan.baidu.com/s/1Jg2t4Jsau7-nFFO-ckkm7w 底层开发 使用不同语言进行区块链的底层开发方面的开发教程...1Wz0aUsxl5wuR9ww_BnYdjw Node.js区块链开发:https://pan.baidu.com/s/1Mi5oBWCb2eSdzMqZBP7Zkg 参考手册 开发必备的以太坊开发工具、开发库的参考手册及使用教程...linux/ubuntu以太坊开发环境搭建:https://pan.baidu.com/s/12xmAScSafm2cS6qPVoJrIQ windows以太坊开发环境搭建:https://pan.baidu.com

3.5K130

Unix & Linux 大学教程 学习总结

Unix & Linux 大学教程    Harley Hahn 0,操作系统最重要功能 控制计算机并在计算机启动或者重新启动时初始化计算机 支持与计算机交互所使用的界面 为需要使用计算机资源(磁盘空间...7,运行级别 0    关机 1    单用户 2    非标准化 3    多用户:CLI 4    非标准化 5    多用户:GUI 6    重启 8,快捷键 Ctrl + Alt + Left...umalias alias 'a=alias' 22,初始化文件 .profile文件 .rc文件 登陆shell(.bash_profile) 非登陆shell(.bashrc) 23,输入输出 <重定向标准输入...(同0<) >重定向标准输出(同1>) >>追加标准输出(同1>>) 2>重定向标准错误 2>>追加标准错误 2>&1将标准错误重定向到标准输出 >&或者&>重定向标准输出+标准错误(只适用于Bash)...1)分析问题 (2)选择工具 (3)与他人讨论 (4)选择选项 28,文件简单操作 split 分割文件 tac 反转文本行顺序 rev 反转字符 colrm 删除指定的数据列,然后将剩余的数据写入标准输出

2.3K10

Linux标准IO库

Linux 标准 I/O(Standard I/O)库提供了一组函数,用于进行高级别的文件输入和输出操作。它建立在底层文件 I/O 系统调用之上,为开发者提供了更方便、更高级别的文件处理方式。...以下是一些常用的 Linux 标准 I/O 库函数: 1. 文件指针 标准 I/O 使用 FILE 结构表示文件流,通过文件指针(FILE*)进行操作。...标准输入输出缓冲 标准 I/O 库使用缓冲区来提高性能。默认情况下,标准输入(stdin)和标准输出(stdout)是行缓冲的,而标准错误输出(stderr)是无缓冲的。...标准输入输出重定向 标准输入输出重定向允许程序从不同的源读取输入或将输出发送到不同的目标。这在命令行中特别有用。 标准输入重定向:....\n"); perror("An error occurred"); return 0; } 以上是 Linux 标准 I/O 库的一些高级特性,包括缓冲机制、输入输出重定向和文件描述符的复制

14010

Python 快速教程标准库)

Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。...这些标准库是Python为你准备好的利器,可以让编程事半功倍。 我将根据我个人的使用经验中,挑选出标准库三个方面的包(package)介绍: (1)Python增强 (2)系统互动 (3)网络 ?...(尽管numpy并不是标准库中的包,但它的数组运算的良好支持,让它在基于Python的科研和计算方面得到相当广泛的应用,可以适当关注。) 5) 存储 之前我们的快速教程中,只提及了文本的输入和输出。...这些功能经常可以在操作系统中看到(比如ls, mv, cp等Linux命令),但现在可以通过Python标准库中的glob包、shutil包、os.path包、以及os包的一些函数等,在Python内部实现...这些项目取得了很大的成功,也是许多人愿意来学习Python的一大原因。但应注意到,这些基于Python的项目也是建立在Python标准库的基础上的。

66390
领券