ABCpdf 转换 html 锚点以跳转到同一 PDF 中的另一个页面

2024-02-23

我使用 ABCpdf 动态生成 PDF,其中包含一个目录,该目录将链接到同一 PDF 中的其他页面。问题是 HTML 中锚标记的路径更改为临时文件的绝对路径。

例如,ABCpdf 将呈现链接的 href:

<a href="#elementId">Link</a>

在 PDF 中为:文件:///C:/Users/Aaron/AppData/Local/Temp/ABCpdf/pdfCMMYPSF.htm#elementId

这就是我生成 PDF 的方式:

Doc pdf = new Doc();
pdf.HtmlOptions.AddLinks = true;
pdf.Rect.Rectangle = new System.Drawing.Rectangle(20, 80, 572, 702);
int id = pdf.AddImageHtml(pdfHTML, true, pdf.HtmlOptions.BrowserWidth, true);

while (pdf.Chainable(id))
{
    pdf.Page = pdf.AddPage();
    id = pdf.AddImageToChain(id);
}

pdf.HtmlOptions.LinkPages();
for (int i = 0; i < pdf.PageCount; i++)
{
    pdf.PageNumber = i;
    pdf.Flatten();
}

有什么想法可以让锚链接正确呈现,以便单击它会跳转到另一个页面吗?


Websupergoo 回复了我,我能够从他们提供的示例项目中调试我的问题。我的问题的解决方案非常简单,我将在这里发布答案,以防其他人遇到同样的问题:

我的 HTML 设置如下:

<a href="#elementId">Link to another page</a>
<div id="elementId">A div that's on another page</div>

我只需要将其更改为:

<a href="#elementId">Link to another page</a>
<div><a name="elementId">A div that's on another page</a></div>

您需要使用指定名称的锚标记,以便 ABCpdf 使链接跳转到同一 PDF 中的另一个页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ABCpdf 转换 html 锚点以跳转到同一 PDF 中的另一个页面 的相关文章

  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li

随机推荐

  • 到底什么是现场注入以及如何避免它?

    我在一些关于 Spring MVC 和 Portlet 的文章中读到场注入不推荐 据我了解 场注入是当你注入一个 Bean 时 Autowired像这样 Component public class MyComponent Autowire
  • 将 Qt GUI 添加到动态库

    问候溢出 我正在尝试向现有项目添加 GUI 更具体地说 对于作为 so文件 或者在 win32 上编译时 dll 该项目已经拥有自己的线程实现来处理可移植性 我知道 Qt 有自己的跨平台线程模型 但最好保留在现有的线程模型中 我对 Qt 老
  • 同时触发if和else的BUG Unity C#

    我在使用最新版本的 Unity 时遇到了一个非常奇怪的错误 IDE 是 Visual Studio 2015 社区 我有一个按钮 单击它时会触发一个函数 并发送一个短字符串作为参数 在该方法中 我首先检查字符串是否为空或空 如果是这种情况
  • 间接修改重载属性Laravel MongoDB

    我将 MongoDB 与 Laravel 一起使用 我有一个名为categories其中有一个文档 id 567dc4b4279871d0068b4568 name Fashion images http example com 1 jpg
  • 如何制作自定义载波后处理器?

    我需要对不是图像的文件上传进行一些后期处理 在回形针中我可以有一个自定义后处理器 但我找不到任何方法在 Carrierwave 中执行此操作 Ruby 1 9 3 Rails 3 2 7 和 CarrierWave 0 6 2 OP的问题是
  • 如何在UIView上插入图片?

    下面的代码在 UIView 上打印一行 我只想知道我要编写的代码能够在视图顶部插入图像 import UIKit class draw UIView var line UIBezierPath var line1 UIBezierPath
  • Ruby 中的横切日志记录

    我正在尝试从外部向方法添加日志记录 面向方面 的风格 class A def test puts I m Doing something end end class A with logging alias method test orig
  • :hover 的 CSS 伪类在 IE7 中不起作用

    我有问题 hoverCSS 的伪类 我用它就像 tr lightRow hover color red 它可以在 Safari 和 Firefox 中运行 但不能在 IE7 中运行 请帮我 IE7 支持 hover 至少在标准模式下是这样
  • 按下按钮以允许全屏查看内容时是否可以隐藏选项卡栏?

    我的基于导航的应用程序的详细视图中有一个 UITabBar 我将文本和图像存储在表格视图中 并希望用户能够点击单元格来隐藏导航控制器和选项卡栏 以便全屏查看内容 我找到了隐藏顶部栏的代码 但隐藏选项卡栏似乎并不容易 UIApplicatio
  • UIButton 图像的色调

    我注意到当我放置白色或黑色UIImage into a UISegmentedControl它会自动对其进行颜色遮罩以匹配分段控件的色调 我觉得这真的很酷 并且想知道我是否也可以在其他地方这样做 例如 我有一堆形状统一但颜色不同的按钮 我是
  • 是什么原因导致 com.aerospike.client.AerospikeException: java.io.EOFException? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是什么原因呢 com aerospike client AerospikeException java io EOFE
  • 使用 XSL 呈现整个网页的优点/缺点

    我正处于与客户一起规划一个项目的初步阶段 以重做他们当前的网站 我查看了他们当前的网站 了解他们当前正在处理哪些问题 经过检查 我注意到每个页面都完全使用 XSLT 呈现 我熟悉 XSLT 我用它来渲染需要在客户端经常刷新的自定义控件 但从
  • 根据 pandas 数据帧的名称绘制正态分布图

    我有一个如下所示的数据框 dateTime Name DateTime day seconds zscore 11 1 2016 15 17 james 11 1 2016 15 17 Tue 55020 1 158266091 11 1
  • RouterLink 在 Angular 6 中不起作用

    我正在观看 Brad Traversy 教程进行编码 我确实按照说的做了 这是我的 app module ts import BrowserModule from angular platform browser import NgModu
  • 在 phpoffice/phpword 上添加图表

    我知道如何在 PHPExcel 上添加图表 但我还需要在 docx 文件上插入图表 是否可以使用 phpoffice phpword 操作图表 如果不可能 您知道适合这项工作的好库吗 实际上不可能在 PHPWord 文档中添加图表 但该功能
  • 选择范围中的第一个字母 ( PostgreSQL )

    我正在尝试从单词的第一个字母在某个范围内的表中进行选择 例如 a f 我尝试使用这样的 where 子句 WHERE lower substring title from 1 for 1 IN ARRAY a k t 希望我稍后能找到一种动
  • 浏览器和凉亭。规范方法

    我现在使用 npm 中无法开箱即用的软件包的方式是这样的 package json 有 napa angular angular bower angular angular animate angular bower angular ani
  • 这个指针转换是否违反了严格的别名规则?

    这是 Quake III Arena 的快速反平方根实现 float Q rsqrt float number long i float x2 y const float threehalfs 1 5F x2 number 0 5F y n
  • GDB:创建局部变量?

    我正在使用 Xcode 的调试器 当停在断点处时 是否可以在 GDB 命令提示符中键入命令来创建局部变量 如果是这样 怎么办 请举个例子 我知道我可以在代码中完成它 然后重新编译程序 但我正在寻找一种更快的方法 如果您不需要在代码中引用变量
  • ABCpdf 转换 html 锚点以跳转到同一 PDF 中的另一个页面

    我使用 ABCpdf 动态生成 PDF 其中包含一个目录 该目录将链接到同一 PDF 中的其他页面 问题是 HTML 中锚标记的路径更改为临时文件的绝对路径 例如 ABCpdf 将呈现链接的 href a href elementId Li