PDF格式分析(三十七)Article thread

PDF格式允许通过Article thread表示逻辑而非物理顺序的内容,如新闻报道。Article由bead组成,用户可通过点击bead间链接跳转。Thread词典在Catalog中定义,bead字典则描述每个内容项,并通过双向链表连接。每个页面对象包含B条目,指示页面上bead的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用途

某些类型的文档可能会包含逻辑连接,而这个逻辑顺序并不是物理顺序。比如:新闻报道可以从新闻通讯的第一页开始,然后转到一个或多个非连续的内页。

为了表示物理上不连续但逻辑相关的项目的序列,PDF文档定义了一个或多个Article(PDF 1.1)。 Article的顺序由article thread定义; 组成文章的各个内容项在线程上称为珠子(bead)。 用户可以通过点击从一个珠子到下一个珠子进行跳转。

表示

文档Catalog中可以定义的可选Threads条目(参见“文档目录”),该条目中定义了一个Thread词典组成的数组,用来表示文档Articles。Thread内的每个单独的bead应由bead字典表示。Thread字典的“F”条目应指定Threads中的第一个bead; bead通过“N”(下一个)和“V”(前一个)条目,构成一个在一个双向链表,将所有bead顺序链接在一起。 此外,对于出现 article beads 的每个页面,页面对象(Page)应包含一个B条目,其值是页面上的bead间接引用的数组,顺序是按照绘图顺序进行排列。

Thread词典中的条目

Key
在Python中,可以使用多线程或多进程来实现并行下载。以下是一个使用多线程的示例代码: ```python import threading import urllib.request def download_file(url, file_path): urllib.request.urlretrieve(url, file_path) print(f"Downloaded {url} to {file_path}") def parallel_download(urls, file_paths): threads = \[\] for url, file_path in zip(urls, file_paths): thread = threading.Thread(target=download_file, args=(url, file_path)) thread.start() threads.append(thread) for thread in threads: thread.join() # 示例用法 urls = \[ 'http://example.com/file1.pdf', 'http://example.com/file2.pdf', 'http://example.com/file3.pdf' \] file_paths = \[ 'path/to/file1.pdf', 'path/to/file2.pdf', 'path/to/file3.pdf' \] parallel_download(urls, file_paths) ``` 在上述代码中,`download_file`函数用于下载单个文件,`parallel_download`函数用于并行下载多个文件。通过创建多个线程并启动它们,可以同时下载多个文件。 请注意,这只是一个示例代码,实际使用时可能需要根据具体情况进行适当的修改和调整。另外,多线程下载可能会对服务器造成较大的负载,请确保遵守相关的使用规定和法律法规。 #### 引用[.reference_title] - *1* [用request实现文件的下载](https://blog.csdn.net/Firewall5788/article/details/120280688)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python 中的并发与并行(一)](https://blog.csdn.net/cxn511/article/details/95004469)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值