Delphi HotPDF 组件 Hello World 示例
Delphi HotPDF 组件 Hello World 示例. "Hello World" 来自 Delphi HotPDF 组件 欢迎来到关于 Delphi HotPDF 组件 的 "HelloWorld" 演示程序!
软件开发博客
浏览 losLab 关于 PDF、Delphi 和文档软件工程的技术笔记
Delphi HotPDF 组件 Hello World 示例. "Hello World" 来自 Delphi HotPDF 组件 欢迎来到关于 Delphi HotPDF 组件 的 "HelloWorld" 演示程序!
一个理赔团队发布了一份由 Delphi 生成的同意书,在 Acrobat 里看起来没有任何问题:每个复选框都能显示,每个标题都对齐,版面也与纸质原件一致。三周后,接收服务开始拒绝三分之一的提交。后端期望同意复选框提交值Y;表单导出的却是Yes,因为构建它的人假定可见标题和导出值是同一回事。渲染后的页面完全看不出这个差异。这就是 AcroForm 开发的核心特性:可见的 widget…
支持工单写着:“对账单在我们的桌面上可以正常打开,但客户的记录管理系统把每个文件都标记为不可读。”这些 PDF 确实按合同要求使用 AES-256 加密。根因藏在一个布尔值里:文档使用加密 revision 6 写出,这是 ISO 32000-2 中的 PDF 2.0 变体,而客户的归档工具链只理解 revision 5。同样的算法、同样的密钥长度、同样的密码,却是不同的密钥派生握手;在运行新版…
把阿拉伯语短语يوضح ملف PDF传给TextOut,再打开输出:字母方向错误,而且每个字母都处在孤立形式,与相邻字母断开。阿拉伯语读者看到的效果,类似把英语倒着输入并在每个字母后加一个空格。没有任何东西失败,没有异常,也没有警告,只是两种独立的文本变换根本没有运行。理解这两种变换是什么,以及哪个 API 会应用它们,就是复杂文字 PDF 输出的关键
在查看器为签名 PDF 显示绿色勾选之前,它会做三件机械工作:读取签名字典中的/ByteRange数组,精确哈希该数组描述的两个字节区间,然后验证存储在这两个区间之间的/Contents项中的 CMS 签名,该签名以十六进制保存。几乎每一次生产签名失败都能追溯到这三步之一安排错误:占位符太小装不下最终签名…
这个作业并不特别:一个夜间 Delphi 服务接收扫描的抵押贷款归档,统计页数,并把每个文件路由到正确的处理队列。它安静运行了几个月,直到一个 1.4 GB 的归档到达。LoadFromFile会解析交叉引用数据,并为文件中数十万个间接对象逐一物化对象;在 32 位服务中,这棵树在解析过程中把工作集推过了 2 GB…
生成报表并嵌入 TrueType 字体,输出的 PDF 可以在你尝试的每个查看器中正确打开。字形正确,文本可选,文件有效。唯一的问题是大小。一个仅使用几十个拉丁字符的文档却携带了整个 350 KB 的字体。而打印了一段中文的文档则携带了 14 MB 的 CJK 字体,而不是其应该需要的半兆字节切片。没有抛出异常,没有记录警告,文件也通过了验证。这就是…
PDF 函数是规范中较为低调的部分。大多数开发人员只接触过它们一次,即类型 2 轴向着色为了在两种颜色之间淡化而需要的东西,之后便不再关注。这很遗憾,因为函数机制是一个小型的通用评估器,该格式将其重用于着色、转换函数、半色调网点函数、专色色调和软掩码转换曲线。在四种函数类型中,类型 0…
打开由 Microsoft Word 或 Excel 生成的 PDF,逐页翻阅,没有任何异常。将其加载到 Delphi…
打开一个经历几年生产使用的 PDF,你经常会发现簿记内容比正文还多:成千上万个小字典对象,每个对象前都有自己的obj头,再加上每个对象消耗 20 个 ASCII 字节的交叉引用表。我们分析过的一个支持案例中,58 MB 的保单归档不到一半字节是真正的页面内容,其余都是结构开销和陈旧 revision。HotPDF 是面向 Delphi 和 C++Builder 的原生 VCL PDF…
设计师为标题选择具有单层a的字体,或为表格选择带斜线的零,或者为封面选择一套花体大写字母。这些字形已经存在于字体中。它们只是不是默认字形。默认的a从字符通过cmap表映射到一个字形,而替代字形相隔几个字形 ID,只有通过替换规则才能触及。在 PDF 中生成该替代字形意味着读取规则并在内容流中输出替换字形。本文是关于在没有底层原生整形库的情况下,如何使用 Object Pascal…
某政府归档机构曾退回一位客户的 Delphi 计费系统生成的整批 1,400 张发票。客户尝试的每个查看器都能完美打开这些文件;veraPDF 却因为同一个原因拒绝全部文件:缺少 OutputIntent。这个事件概括了标准符合性 PDF 工作的核心教训:视觉正确性什么也证明不了,因为 PDF/A、PDF/X 和 PDF/UA 约束的是文件内部结构,而不是它看起来怎样。HotPDF 是…
当你对 PDF 进行签名时,你通常认为签名密钥是处于你控制之下的。它存在于你生成的.pfx文件中,并由你选择 the 密码保护。读取该文件的代码感觉像是管道,而不是边界。但一旦证书不再属于你,这种直觉就是错误的。允许用户选择任意.pfx的桌面工具、接受上传凭据的服务器、通过网络获取证书的批量签名器,都会在生成单个签名字节之前,将受攻击者影响的字节传递给解析器。PKCS#12…
月度对账单在每个开发者屏幕上看起来都没问题,于是上线发布。两天后,印刷服务商退回整批文件:CMYK 作业里有 RGB 图像,而且没有/Trapped声明。成本不只是重印,而是监管期限里的两天。“Preflight”是印前术语,指在文件离开公司之前捕获这类问题;对 Delphi 团队来说,真正有意思的工程问题是:当 PDF 由你自己的代码和 HotPDF…
几乎每个团队第一次用 PDF 库渲染发票时,都会以同样方式出错:标题文本贴在页面底边,后续每一行都向上爬。没有任何东西坏掉。按照 ISO 32000-1 §8.3,PDF user space 的原点在左下角,Y 向上增长,和 VCL 开发者多年使用的 GDI canvas 正好相反。HotPDF 是 losLab 面向 Delphi 和 C++Builder 的 PDF…
"Please wait... If this message is not eventually replaced by the proper contents of the document, your PDF viewer may not be able to display this type of document."…
XFA(XML 表单架构)已被弃用。ISO 32000-1 在第 12.7 节中包含了它,并指出它已从 PDF 2.0 中删除,现代查看器正在逐个放弃其 XFA 引擎。然而这并没有清空归档文件。在过去的近二十年里,政府的受理表单、保险申请和银行对账单都是以 XFA…
此 HotPDF 组件示例将 Delphi TeeChart 图表导出到 PDF 文档。该示例展示了交互式 VCL 图表和可分发的 PDF 报告之间的实际桥梁:用户可以在表单中配置图表样式,然后应用程序将选定的图表状态打印到 PDF 页面
此 HotPDF 组件示例演示了如何使用与 VCL 应用程序中 Delphi 开发人员已经使用的相同 TCanvas 工作流程,创建矢量风格的 PDF 图形。该示例不将 PDF 输出视为独立的绘图模型,而是通过 HotPDF.Canvas 写入文本和形状,然后将结果保存为 PDF 文档
这是一个全面的HotPDF 组件TextOut 示例演示了高级字体处理、字符集支持、文本缩放、间距调整和渲染模式。该示例生成详细的字体和字符集演示,并提供适用于 Delphi 应用程序的 PDF 生成的实用示例
HotPDF 组件竖排文本示例项目. HotPDF Delphi 组件:在 PDF 文档中创建垂直文本布局。 本综合指南演示了如何使用 HotPDF 组件 帮助开发人员轻松生成 PDF 文档中的 Unicode 垂直文本。 了解垂直排版 (縦書き/세로쓰기/竖排)。 垂直排版 ,也称为 垂直书写
这个 HotPDF 组件示例将数据库记录转换为分页的 PDF 表格。它是一种紧凑的报表生成模式:从数据集读取行,绘制表头,在已知垂直位置打印每一行,并在当前页面满时添加新页面
这个 HotPDF 示例展示如何在生成的 PDF 文档中放置可点击超链接。超链接看似只是小功能,但在发票、报表、产品资料、文档导出以及需要把读者带回网站、订单页、支持表单或在线手册的 PDF 中非常重要
HotPDF组件中的RtLTextOut函数. PDF 生成中的从右到左文本:介绍 HotPDF 的 RtLTextOut 函数。 从右到左语言简介。 从右到左 (RTL) 语言代表了全球书面交流系统的重要组成部分,服务于超过 4 亿人
在当今的数字世界中,条形码是库存管理、零售运营和数据跟踪系统的基石。 能够生成包含各种条形码类型的专业 PDF 文档对于各行各业的企业来说至关重要。 本综合指南探讨了使用现代开发工具实现 22 种不同的条形码标准,重点是使用 HotPDF VCL 库的 Delphi 和 C++Builder 实现。HotPDF VCL 库
PDF 注释是创建交互式和协作文档的最强大功能之一。 它们允许用户直接向 PDF 文件添加评论、高亮、标记和多媒体内容,而无需修改原始文档结构。 本综合指南探讨了如何使用来实现各种类型的 PDF 注释,涵盖从基本的文本注释到高级的多媒体附件。HotPDF 组件。,涵盖从基本的文本注释到高级的多媒体附件
简体中文技术指南: Fix the HotPDF component reuse issue: Fix the HotPDF component reuse issue. Object Instance State Management and File Conflict Resolution Discover how to solve the “Please load the document
PDF 不仅仅是纸张。它是一个容器,可以携带在文件打开时运行的脚本、启动外部程序的链接、连接到 Web 服务器的链接、嵌套在文件内部的文件,以及声明文档自有人担保以来没有发生更改的签名。当文件来自您不控制的源时,最安全的第一步不是渲染它。它是读取文件关于其自身的内容,并构建它可能尝试做的所有事情的清单,以便人类可以决定它是否完全属于您的工作流
C 库上的 Pascal 绑定读起来像普通的 Pascal。你调用一个方法,得到一个记录返回,释放你分配的内容。麻烦在于 PDFium 是一个 C 和 C++ 库,它有自己的调用约定、自己的整数宽度以及自己关于谁拥有内存和谁释放内存的规则。这些契约本身不会自动跨越语言边界。每一个契约都必须在 Pascal…
合并和拆分是每个人最先想到的两个页面操作,它们涵盖了很大的范围。但它们并没有涵盖所有内容。有一类独立的工作是重新排列页面而不是移动整个文件:将四张幻灯片平铺到一张纸上作为讲义、将页面从文档背面拖到前面,或者将第 3、7 和 12 页拉取到一个简短的摘录中而不触及其他部分。PDFium…
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
在 Delphi 和 C++Builder 应用中嵌入 PDFium Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,通过源码组件实现查看、渲染、表单、打印、预检报告和面向标准的验证
将水印或徽标盖到文档的每一页上看起来是个五分钟的工作,直到您在文件大小检查器中打开结果。显而易见的方法是遍历页面,在每一页上再次构建相同的文本或图像对象。这在视觉上有效,但在某种程度上它是呈复利式浪费的。直接绘制到百页报告上的对角线“DRAFT”水印是坐在内容流中的相同路径和文本数据的 100 个副本,并且保存的文件携带了它们中的每一个
单个 PDF 格式的扫描存档可以达到几个千兆字节(GB)。打开此类文件的查看器通常只想显示一页,可能是目录,或者是用户从书签跳转到的页面。将整个文件读取到内存中以渲染两页在每个轴向上都是浪费的:它消耗地址空间,让用户在漫长的初始读取后面等待,并且在 32 位 Delphi 进程上,它可能在显示单页之前直接失败。PDFium…
您编写了一个微型的验证器。它打开 PDF、寻找到末尾、找到startxref、读取偏移量,并期望落在关键字xref上,且在其下方有固定宽度的交叉引用表。它从该表中收集对象偏移量,然后向后扫描以查找trailer关键字以了解/Root和/Size。它在您生成用来测试它的每个文件上都工作得完美无瑕。然后,一个由当前版本的 Word 或针对 PDF 1.5…
使用 PDFium Delphi 将 PDF 文档拆分为多个文件. 将大型PDF文件拆分为较小的文件对于文档分发、归档和处理至关重要。 Split PDF 演示程序展示了如何使用PDFium Component在Delphi中拆分PDF文档。 概述 这个全面的演示提供了三种拆分模式:单个页面、页面范围和按书签
简体中文技术指南: Extracting Text from PDF Documents with PDFium Component in Delphi: Extracting Text from PDF Documents with PDFium Component in Delphi. Text extraction is one of the most common PDF processing tasks
使用 PDFium Component 将多个 PDF 文件合并为一个文档. 将多个PDF文档合并成一个文件是文档管理工作流程中的常见需求。 合并PDF 演示程序展示了如何使用Delphi中的PDFium Component将任意数量的PDF文件合并为一个文件
使用 PDFium 组件在 Delphi 中处理 PDF 附件. PDF 文档可以包含嵌入的文件附件,这是一个强大的功能,用于捆绑相关文件,例如电子表格、图像或支持文档。 附件 演示程序展示了如何使用 PDFium Component 处理 PDF 附件
在 Delphi 中使用 PDFium Component 从 PDF 文档中提取图像. PDF文档通常包含有价值的图像,例如照片、图表、图形和示意图。 提取图像 demo演示了如何使用PDFium Component从PDF文档中提取所有嵌入的图像,并根据其特性将其保存为最佳格式
在 Delphi 中使用 PDFium Component 从头开始创建 PDF 文档. 虽然 PDFium 主要以 PDF 查看和处理而闻名,但 PDFium Component 也提供了强大的 PDF 创建功能。 创建 PDF 演示程序展示了如何使用文本、形状、表格和水印,以编程方式生成 PDF 文档
在 Delphi 中使用 PDFium Component 分析 PDF 字体属性. 了解 PDF 文档中使用的字体对于质量控制、可访问性合规性和文档取证至关重要。 字体属性 该演示程序展示了如何使用 PDFium Component 访问 PDF 中字符的详细字体信息
在 Delphi 中使用 PDFium Component 将 PDF 页面转换为 JPEG 图像. 将 PDF 页面转换为图像对于生成缩略图、预览和网页显示至关重要。 PDF 转 JPG 演示程序展示了如何使用 PDFium Component 将 PDF 页面渲染为高质量的 JPEG 图像
在 Delphi 中使用 PDFium Component 将图像转换为 PDF 文档. 将图像转换为PDF是一种常见的需求,用于文档管理、归档和共享。 图像转PDF 该演示程序展示了如何使用PDFium Component从一组图像创建多页PDF文档
在 Delphi 中使用 PDFium Component 打印 PDF 文档. 准确渲染和正确缩放是打印 PDF 文档的常见需求。 打印 PDF 演示程序展示了如何使用 PDFium Component 组件实现专业的 PDF 打印功能,包括预览、页面选择和质量选项
在 Delphi 中使用 PDFium Component 构建功能丰富的 PDF 查看器. 在本教程中,我们将探讨如何使用 PDFium Component 创建一个专业的 PDF 观看器应用程序。 PDFium Component 是一种强大的 Delphi 组件,它封装了 Google 的 PDFium 渲染引擎
在Delphi中使用PDFium Component对PDF文档进行并排比较. 并排比较多个PDF文档对于修订审查、质量控制和文档验证至关重要。 分屏视图 该演示程序展示了如何使用PDFium Component同时显示两个或三个PDF文档。 概述 该高级演示程序以同步视图显示多个PDF文档,允许用户直观地比较文档
运输标签或发票上的条形码只有一项工作,那就是在第一关被扫描器读取。它是否能挺过那一关,在包裹到达码头之前很久就已经决定了。它是由页面上放置符号的方式决定的。Delphi 报表流水线中最常见的错误是在其他地方将条形码渲染为位图,然后将该图像放入 PDF 中。它在屏幕上以某种缩放级别看起来很好,但在其他地方却会退化
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
大多数开发人员将 PDF 页面视为一张带有文本和图片的纸张。地理参考 PDF 不仅仅如此。它携带了足够的信息,可以通过获取页面上的某个点(以普通页面单位测量),并报告其在现实世界中所处的纬度和经度。正是这一事实将 PDF 转化为地形图、地籍调查图、洪水区展示或任何必须打印且仍有意义的 GIS 导出的可用载体。几何形状就在文件中;唯一的问题是你的加载器是否能读取它
PDF 表单字段本身只是一个保存值的框。使表单像小型应用程序一样运行的是附加到其上的操作:点击可隐藏某个区域、从文件中拉取保存的值、跳转到最后一页或运行计算一列总和的脚本。所有这些都不存在于字段中。它们存在于操作字典中,ISO 32000-1 在第 12.6 节中组织了整个操作系列。本文介绍了 Delphi 程序最常调用的操作,并展示了 PDFlibPas 如何将每个操作连接到字段或链接
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
测量员打开场地平面图,希望在保留公用设施的同时隐藏等高线。审查员希望红线批注在屏幕上可见,而在打印件上消失。产品说明书从一个文件以三种语言发送,读者可以选择显示哪种语言。这三者都是同一个 PDF 功能,在 Acrobat 中驱动它们的面板称为“图层”。该面板下方的功能是可选内容,它允许单个页面承载多个独立的视觉层,查看器可以将其打开和关闭
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
losLab PDF Library 为 Delphi 和 C++Builder 团队提供带源代码的 PDF 引擎,适用于桌面、服务器、DLL、ActiveX 和 Dylib 流程,内置 PDF/A 与 PDF/UA 检查、PAdES 签名支持和多种渲染器选择,无需把文档交给外部 PDF 服务
PDF 不是你打开的文档。它是你运行的小程序。每个嵌入的字体都是一个等待 charstrings…
大多数接触 PDF 的 Delphi 代码都将该格式视为两样东西的容器:文本段和一些放置的位图。学术看法在一定范围内是正确的,但它使该格式中最强大的部分处于闲置状态。PDF 页面是一个独立于分辨率的二维画布,建立在与 PostScript…
传统 Excel 二进制格式的几乎每个部分都是具有干净的 2 字节类型和 2 字节长度的单个记录。单元格是LABELSST或NUMBER。合并区域是MERGEDCELLS。你通过一次遍历一个记录并在类型字上进行分发来读取工作表的大部分内容。数据透视表打破了这种节奏。单个数据透视表不是一条记录,它是一个由数十个相互协作的记录组成的小程序,分布在同一个 OLE…
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
打开电子表格,单击显示2026-06-19的单元格,编辑栏仍然显示为日期。从 Delphi 中读取相同的单元格,你会得到数字46192。这两种视图都是正确的,因为 Excel 从未在该单元格中存储日期。它存储了一个序列号(即天数计数),并附加了一个数字格式以告诉屏幕将计数渲染为日历日期。单元格值中没有日期类型。有一个数字和一个显示规则,而显示规则是区分日期与纯数量的唯一事物
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
Excel 中的工程函数系列读起来像是函数参考中最简单的部分。DEC2BIN将数字转换为二进制字符串。HEX2DEC将其转换回。IMSUM将两个复数相加。每一个看起来都像是格式化练习。其实不然。在这些名称背后,坐落着自计算机体系结构课程以来大多数开发人员从未接触过的十位二进制补码编码、完全存在于字符串内部的复数格式,以及如果您在检查之前进行移位就会默默溢出 64 位整数的按位运算符。精确再现…
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
你编写了一个工作簿,用密码对其进行加密,然后将文件交给同事,同事在 Excel 中打开它。Excel 询问密码。同事输入密码,Excel 接受了它。到目前为止,加密看起来是正确的。然后 Excel 弹出一个对话框,提示文件已损坏且无法打开,或者打开后显示一张写满无意义单元格的工作表。密码是正确的,但文件仍然损坏。这是 Office…
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
在单元格中输入=NORM.DIST(115,100,15,TRUE),Excel 会直接返回 0.8413447。该调用读起来像是个查找。其实不然。在这一个数字背后,是累积正态分布(一个没有闭合形式的积分),在CHISQ.INV.RT和BETA.DIST背后,是严谨的库必须评估而非手动近似的特殊函数。声称与 Excel 兼容的电子表格组件必须重现这些值,直至 Excel…
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
电子表格包含一列客户名称。有些是中文,有些是西里尔字母,有些带有德语变音符号或法语重音符号。您将其导出为 CSV 并打开结果,每个字符都完好无损。您将同一个工作簿导出为 RTF 以用于邮件合并模板,在字处理器中打开它,非 ASCII 名称已经折叠成一排排问号。数据从未改变。改变的是您写入的格式的编码契约,并且每个导出路径都携带不同的契约
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
直接从 Delphi 或 C++Builder 代码创建、编辑、检查、计算和导出 Excel 工作簿。HotXLS 是带源代码的原生 Object Pascal 电子表格库,支持 XLS 和 XLSX 流程,适用于桌面工具、批处理作业、报表系统和无需 Microsoft Excel 自动化的服务器端文档生成
PDF 图形解释:理解 PDF 视觉元素. PDF图形:从基本路径到高级视觉效果 探索引人入胜的PDF图形世界,从基本形状到复杂的视觉效果。 这份全面的指南揭示了PDF如何通过优雅的代码结构创建令人惊叹的视觉效果
PDF 快速网页视图优化:PDF 线性化的解释和技巧. PDF 快速网页查看:线性化优化指南 您是否遇到过这种情况? 您点击一个 PDF 链接,却要等待很长时间才能看到第一页,而跳转到后面的页面则需要更长的时间?PDF 线性化技术就是为了解决这个问题而设计的! 什么是 PDF 线性化?
PDF 文档彻底改变了我们在不同平台和设备上共享和保存格式化文本的方式。但在每个 PDF 的精美表面下,隐藏着一个复杂的文本渲染系统,它将高级排版概念与精确的数学运算相结合。了解 PDF 如何处理文本和字体对于从事文档生成、文本提取或 PDF 处理的开发人员至关重要
了解 PDF 文件结构:技术概述. PDF文件内部结构:完整解析 可移植文档格式(PDF)已成为文档交换和归档的实际标准。了解其内部结构对于开发人员、系统管理员以及所有参与文档处理工作流程的人员至关重要。本综合指南深入探讨PDF文件的复杂布局和内容,考察其四个主要部分以及构成每个组件的对象的详细语法
了解 PDF:通用文档格式. PDF – 改变一切的文档格式。 每天,数百万人在不知不觉中打开 PDF 文件。但这种普及的格式彻底改变了我们共享文档的方式,确保您在屏幕上看到的内容与其他人看到的完全一致,无论他们使用的是位于纽约的 Windows 电脑还是位于东京的 Mac 电脑
PDF 文档可能看起来很简单,但其内部结构可能出人意料地复杂。一个经常让开发人员感到困惑的领域是理解 PDF 页面的实际排序方式。在修复和增强我们的 PDF 页面复制示例程序时,我们遇到了这些棘手的问题。HotPDF Delphi PDF 组件,我们在开发过程中遇到了这些问题。本全面的指南将分解每个 PDF 开发人员都应该了解的关键概念,从基本对象结构到高级树导航技术
PDF 文档比用户看到的要复杂得多。虽然查看器以逻辑、顺序的排列方式显示页面(1、2、3…),但 PDF 文件的内部架构却讲述着完全不同的故事。这种复杂性是 PDF 处理中最常被误解的方面之一,导致了无数的错误、不正确的实现以及沮丧的开发人员。本文深入探讨了 PDF 页面组织错综复杂的世界,解释了为什么开发人员经常遇到意外的页面排序问题,并提供了用于可靠 PDF 处理的实用解决方案
从头开始构建简单的 PDF 文档. 使用记事本创建 PDF 文档。 掌握手动创建 PDF 文件的技巧,并理解驱动数字文档的基础结构。 简介:揭开 PDF 创建的奥秘。 您是否曾经想过,当您点击“另存为 PDF”或将文档导出为 PDF 格式时,幕后会发生什么?
掌握 PDF 结构:XML 元数据、书签和注释. 了解 PDF XML 元数据和书签:技术指南 涵盖的关键主题 📍 目的地 精确的位置标记,用于定义 PDF 文档中的特定位置。这些标记可实现书签和超链接的精确导航,而文档大纲则提供分层目录功能
欢迎来到引人入胜的 PDF 内部世界!您是否曾想过是什么让 PDF 文件正常工作? 在我们每天看到的常见文档背后,隐藏着一种复杂的架构,它彻底改变了数字文档的共享方式。 在这次全面的探索中,我们将揭示 PDF 结构的各个层面,从而了解这些无处不在的文件是如何工作的
PDF 文件在我们的数字世界中无处不在,但并非所有 PDF 文件都是相同的。虽然大多数 PDF 处理库都假设标准的文档结构,但实际的 PDF 文件通常会偏离预期的格式,这给开发人员带来了重大挑战。本文探讨了处理非标准 PDF 结构所涉及的复杂性,重点关注那些缺乏正确 Pages 树组织结构的文档,这是一个常见问题,可能导致访问权限错误和处理失败
调试 PDF 页面顺序问题:真实案例研究. 调试 PDF 页面顺序问题:HotPDF 组件的实际案例研究。 由 losLab | PDF 开发 | Delphi PDF 组件 PDF 操作可能很复杂,尤其是在处理页面顺序时。最近,我们遇到了一次有趣的调试过程,揭示了关于 PDF 文档结构和页面索引的重要见解
Alcinoe 与 Delphi 11.1 Alexandria 支持. Alcinoe 组件库,由 Zeus64 开发,是一个为 Delphi 提供的开源视觉和非视觉组件库。 完整的 OpenGL 视频播放器、WebRTC Delphi 封装、原生 iOS/Android TEdit 组件、改进的
很多 HotPDF 示例会在设计期把组件放到窗体上。这样写演示很方便,但生产代码有时只需要在某次导出操作中临时创建 PDF 组件。动态创建适合服务模块、报表辅助类、批处理任务,以及组件不应跟随窗体整个生命周期存在的场景
在维护用 Delphi 编写但由 Delphi 和 C++Builder 用户共同使用的 VCL 组件时,您很快就会发现这两种构建系统处理依赖关系的方式截然不同。一个在 Delphi 中完美编译的单元,可能会在 C++Builder 中导致灾难性的链接器错误。这种差异是组件作者经常遇到的陷阱,尤其是在向现有库添加新的内部单元时
在给一个旧 VCL 示例增加 Delphi 5 兼容性时,项目在一行对新版 Delphi 来说完全正常的代码上失败了。该代码试图直接给TDateTimePicker.Format属性赋自定义日期格式
Delphi XE2 及更新版本将大量 Windows API 声明移入带作用域的Winapi.Windows单元,并收紧了一些记录类型声明。因此,旧版 Delphi 可以编译的代码,在新版编译器中可能会失败:EMF 记录中提供的是tagLOGBRUSH32,而 GDI API 需要的是tagLOGBRUSH或TLogBrush
在自动化管道中处理大批量 Excel 电子表格时,您很少会为了弄清楚它是什么而将整个文档加载到内存中。通常,嵌入在文件中的元数据(作者、标题、创建日期和自定义属性)足以为文档进行路由、索引或拒绝。在 Microsoft Office 世界中,这种元数据被称为文档摘要信息(Document Summary Information)
较旧的 Delphi 代码有时会包含一个小型_ftol辅助函数,用于把浮点值转换为整数。在 32 位项目中,这类辅助函数常用内联汇编实现,尤其常见于为旧编译器调优过的图形和 PDF 代码
当使用Delphi 中的 PDF 处理库时,范围检查错误可能会特别令人沮丧,因为它们通常发生在复杂的文档结构深处。这些错误尤其具有挑战性,因为它们可能会间歇性地出现,这取决于正在处理的特定 PDF 结构,这使得它们难以稳定地重现和调试。本文深入探讨了一个涉及 PDF 页面复制实用程序中的范围检查错误的详细调试过程,展示了系统的方法来识别、分析和修复此类问题,同时也改进了整体软件架构
当 PDF 需要审批,但又不希望反复打印、扫描和发送附件时,电子签名工具很有用。DigiSigner 这类签署服务可以在浏览器中完成简单的文档签名流程:上传文档、放置签名区域、签署,然后下载或共享完成后的文件
在企业打印、归档和文档合规工作流程中,PDF 文件不能简单地“渲染”了事,它必须经过审计。PDF 可能包含会使旧版光栅图像处理器(RIP)崩溃的未拼合透明度组,可能包含构成安全风险的嵌入式 JavaScript,或者包含在以 300 DPI 打印时看起来很糟糕的低分辨率图像
在现代软件开发中,可访问性(Accessibility)已不再是可选功能。根据 ADA(美国残疾人法案)和欧盟 Web 可访问性指令等法规,处理文档的软件必须提供辅助技术。对于 PDF 阅读器而言,这意味着要实现稳健的文本转语音(TTS)和屏幕阅读器集成
在开发企业级文档解决方案时,您不可避免地会遇到由各种工具生成的 PDF 文件,从高端的 Adobe 软件到存在缺陷的开源库,再到虚拟打印机驱动程序。您将面临的最臭名昭著的结构问题之一就是“混合引用(hybrid-reference)”PDF
在法律、金融和医疗保健领域,生成大量 PDF 文档是标准做法。然而,生成文档只是成功了一半,保护它们的安全性同样至关重要。当您的归档管道每天处理数百 GB 的 PDF 时,应用 AES-256 加密可能会迅速成为性能瓶颈
losLab PDF 库是一个强大的 PDF 软件开发工具包 (SDK),它提供广泛的功能来处理 PDF 文件。本指南将探讨我们 PDF 开发库提供的众多功能,旨在满足开发人员和企业的需求,用于创建、操作和管理 PDF 文档
PDF 文档功能极其强大,但这种强大伴随着固有的安全风险。由于 PDF 支持嵌入式文件、交互式 JavaScript 和复杂的二进制流,它们经常被用作传输恶意软件的载体。编写糟糕的 PDF 解析器中出现的缓冲区溢出、越界读取和整数溢出可能导致远程代码执行(RCE)
在 Delphi 中使用标准流类(如TFileStream或TMemoryStream)处理标准 PDF(1MB 到 10MB)非常简单。但是,当您的任务是处理 GB 级(gigabyte-scale)PDF 时,例如庞大的工程 CAD 原理图、高分辨率地理空间地图或累积的法律档案,标准内存分配技术很快就会崩溃
PDF 处理性能是文档处理应用的关键。看似简单的页面提取操作,有时可能需要几分钟才能完成,这会给用户带来不便,并降低系统性能。本文探讨了 PDF 处理应用中常见的性能瓶颈,并提供了经过验证的策略,以优化处理速度、消除内存泄漏,并创建更高效的文档处理流程
使用 Delphi、C# 和 VB.Net 中的 losLab PDF 库将 PDF 页面缩放 70%. 在处理 PDF 文件时,通常需要调整内容大小以满足各种需求。 在这种情况下,我们的目标是将 PDF 文件中所有页面的大小缩小 70%。 本指南将介绍必要的步骤,解答相关问题并提供解决方案
在 Delphi 中创建连续滚动的多页 PDF 查看器. 本教程探讨了 多页查看器 示例,它扩展了基本的 PDF 查看器,增加了连续滚动功能。这种查看模式类似于现代 PDF 阅读器(如 Adobe Acrobat)显示文档的方式,允许用户无缝滚动浏览所有页面
在文档处理领域,将 Rich Text Format (RTF) 文件转换为 Portable Document Format (PDF) 是一项常见的任务。 这种转换可确保文档在不同平台上的布局保持一致。 本指南提供了使用我们的 PDF 开发库在 Delphi、C# 和 VB.Net 中进行高效 RTF 到 PDF 转换的详细解决方案。PDF 开发库在 Delphi、C# 和 VB.Net…