对未知程序所创建的 PDF 文档的折叠书签层级全展开导致丢签的一种解决方法

news2024/11/20 10:38:36

对需要经常查阅、或连续长时间阅读的带有折叠书签的 PDF 文档展开书签层级,提高阅览导航快捷是非常有必要的。

下面是两种常用书签层级全展开的方法

1、 FreePic2Pdf

1 - 2 - 3 - 4 - 5 - 6,先提取后回挂

在这里插入图片描述

2、PdgCntEditor

载入后,直接保存

在这里插入图片描述

这两种方法对于形如 Acrobat 书签页码编码规范的书签层级展开非常方便,但对未知程序所创建的的 PDF 文档书签层级全展开会出现丢签。

在这里插入图片描述

解决案例

本文示例 PDF 文档书签折叠原状

在这里插入图片描述

查看制作程序——未知

在这里插入图片描述

拖入 PdgCntEditor ,仅显示一行书签

在这里插入图片描述

保存后,再打开书签几乎丢失空了

在这里插入图片描述
使用 FreePic2Pdf 操作,测试效果一样。

解决方法

PDF 补丁丁

1 - 2 - 3 - 4 - 5 - 6
在这里插入图片描述

将新生成的 PDF 文档拖入 PdgCntEditor ,书签不再是一行,已完整显示,1 - 2 - 3

在这里插入图片描述

打开文档 检视书签层级,已全展开,导航正常

在这里插入图片描述

如果没做备份,已经误操作导致书签丢失,可以参考下文重建书签

  • PDF 书签制作与调整 从可编辑、不可编辑 PDF 文档创建书签的方法-CSDN博客 https://blog.csdn.net/u013669912/article/details/138001111

说明:

创建 PDF的方法有很多种,本文并未对其他的一一测试,如有其他情形的妙招请留言,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1720343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何选择国产数据库?

ORACLE的强大是全方位的,作为甲方DBA,喝喝咖啡,看看报纸,开开会,临听一下ORACLE ACE吹水! 作为国企的DBA, CTO.基本上国企都算是传统行业,都是跑ERP系统,进销存系统.客户关系系统.基本上都是B2B业务. 直接面对普通老百姓的互联网业务非常少. 核心业务都是使用ORACLE,少量互联网…

官网:管它日薄西山or蒸蒸日上,气质这块,必须拿捏死死的。

在日薄西山的时候,网站建设面临着许多困难和挑战。市场竞争激烈,用户需求多样化,技术更新迅速,这些都要求我们在网站建设中拥有高尚的气质。 而在蒸蒸日上的时刻,网站建设同样需要我们拿捏好气质。只有坚持下去&#…

VScode远程连接linux服务器开发,误删了文件怎么找回。

VScode远程连接linux服务器开发,误删了代码文件 因为远程服务器大家都在用,没有足够权限去折腾。找遍了没找到方法,就告诉我远程的文件本地没有缓存啊!我就差点开始重写代码了。 后来被我发现了TIMELINE功能,这个功能…

瓦罗兰特国际服 马来西亚服低价区有哪些 瓦罗兰特低价区排行

瓦罗兰特国际服 马来西亚服低价区有哪些 瓦罗兰特低价区排行 瓦罗兰特作为当今游戏圈内热度最高的一款游戏,在全世界范围内都有着许多的游戏玩家。游戏基础玩法延续了FPS经典的5v5玩法,同时开发商在不同的游戏角色上添加了不同的技能,使得游…

Qt xml学习之calculator-qml

1.功能说明:制作简易计算器 2.使用技术:qml,scxml 3.项目效果: 4.qml部分: import Calculator 1.0 //需要引用对应类的队友版本 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 1.4 import QtScxml…

Springboot JVM监控 通过Promethus

Springboot内置了对Prometheus得支持,可以监测得点有: JVM各指标参数(GC,堆,非堆等)接口调用次数,延时系统内存,IO,CPU使用率 部署Prometheus和Grafana 准备一台2核4G…

HackTheBox-Machines--Sense

Popcorn 测试过程 1 信息收集 服务器开启80、443端口 80端口 访问 80 跳转到 443 – https://10.129.196.51/ ,该页面是 pfSense 登录界面,默认密码是: admin/pfSense,使用默认账号密码登录失败 目录扫描 ./gobuster dir -u htt…

JavaWeb笔记整理+图解——Filter过滤器

欢迎大家来到这一篇章——Filter过滤器 监听器和过滤器都是JavaWeb服务器三大组件(Servlet、监听器、过滤器)之一,他们对于Web开发起到了不可缺少的作用。 ps:想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记,里面整理了大量详细的知识点和图解,可以帮你快速掌…

期权高频交易能做吗?期权可以频繁交易吗?

今天带你了解期权高频交易能做吗?期权可以频繁交易吗?在期权交易市场,大部分人都知道不能频繁交易,就连不少投资新手都知道频繁交易是大忌,是错误的,是应该避免的。所以是不行的。 期权高频交易能做吗&…

学习信号和槽(1)

信号和槽函数 一、了解信号和槽的概念二、信号和槽的使用2.1、第一种方法2.2、第二种方法2.3、第三种方法2.4、第四种方法2.5、第五种方法 一、了解信号和槽的概念 信号(Signal):就是在特定条件下被发射的事件,比如QPushButton 最…

OpenPCDet

一.简介 源码链接: https://github.com/open-mmlab/OpenPCDethttps://github.com/open-mmlab/OpenPCDet OpenPCDet 是一套基于PyTorch实现的点云3D目标检测代码库。(也是个框架) 设计思想:点云数据集(KITTI、NuSce…

[深度学习]yolov10+bytetrack+pyqt5实现目标追踪

【简介】 利用YOLOv10、ByteTrack和PyQt5实现目标追踪是一个强大的组合,可以为用户提供一个交互式的实时目标追踪界面。以下是一个简化版的实现思路描述: 首先,YOLOv10是一个先进的目标检测算法,能够准确识别视频或图像中的目标…

注意力机制新突破!自适应Attention性能优越,可缝合到多种任务中

自适应注意力对比传统注意力机制,可以显著提高深度学习模型在处理复杂数据上的效率和准确性。 这种机制的核心在于:通过计算输入数据中不同部分之间的相关性或重要性,为这些数据部分分配不同的注意力权重,从而让模型能够更加专注…

xcode开发swift允许发送http请求设置

Xcode 现在新建项目默认只支持HTTPS请求,认为HTTP请求不安全,所以不支持。但是开发环境一般都是http模式,所以需要单独配置才可以访问。 需要到项目的设置里面,点击info,如果没有App Transport Security Setting这一项…

基于NANO 9K 开发板加载PICORV32软核,并建立交叉编译环境

目录 0. 环境准备 1. 安装交叉编译器 2. 理解makefile工作机理 3. 熟悉示例程序的代码结构,理解软核代码的底层驱动原理 4. 熟悉烧录环节的工作机理, 建立下载环境 5. 编写例子blink, printf等, 加载运行 6. 后续任务 0.…

无线领夹麦克风哪个品牌音质最好?领夹麦克风品牌排行榜前十名

​短视频、直播已成为现代生活中不可或缺的一部分,而领夹式无线麦克风则是这些活动中不可或缺的重要工具。它们能够轻松捕捉声音,让内容更加生动、真实。然而,市场上的无线麦克风种类繁多,价格各异,如何挑选一款适合自…

红外超声波雷达测距(water)

文章目录 一 RS-232二 RS485三 Modbus四 stm32多路超声波测距4.1 设计方案4.2 代码 参考资料总结 实验要求 一. 采用stm32F103和HC-SR04超声波模块, 使用标准库或HAL库 定时器中断,完成1或2路的超声波障碍物测距功能。 1)测试数据包含噪声&am…

环境变量 | 是不是必须配置?怎么配置?

本文基于mysql和python环境,简单介绍了“什么是环境变量”、“环境变量是不是必须配置”、“环境变量配置方法”及“常用环境变量 path ”。 1、什么是环境变量 释义:一般是指在操作系统中,用来指定操作系统运行环境的一些参数,…

C++ 多重继承的内存布局和指针偏移

在 C 程序里,在有多重继承的类里面。指向派生类对象的基类指针,其实是指向了派生类对象里面,该基类对象的起始位置,该位置相对于派生类对象可能有偏移。偏移的大小,等于派生类的继承顺序表里面,排在该类前面…

162.二叉树:填充每个节点的下一个右侧节点指针(力扣)

代码解决 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next;Node() : val(0), left(NULL), right(NULL), next(NULL) {}Node(int _val) : val(_val), left(NULL), right(NULL), next(NULL) {}Node(int _val, Node* _left, Node* _…