如何在itextsharp文档中并行设置两个表?

2024-03-16

How can I set two tables parallelly in a document enter image description here

我的生成 pdf 的示例代码是,

         Document doc = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10);
        doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());

        PdfWriter writer = PdfWriter.GetInstance(doc, Response.OutputStream);

        doc.Open();

        PdfPTable table = new PdfPTable(3);
        table.TotalWidth = 144f;
        table.LockedWidth = true;
        PdfPCell cell = new PdfPCell(new Phrase("This is table 1"));
        cell.Colspan = 3;
        cell.HorizontalAlignment = 1;
        table.AddCell(cell);
        table.AddCell("Col 1 Row 1");
        table.AddCell("Col 2 Row 1");
        table.AddCell("Col 3 Row 1");
        table.AddCell("Col 1 Row 2");
        table.AddCell("Col 2 Row 2");
        table.AddCell("Col 3 Row 2");
        table.WriteSelectedRows(0, -1, doc.Left, doc.Top, writer.DirectContent);


        table = new PdfPTable(3);
        table.TotalWidth = 144f;
        table.LockedWidth = true;
        cell = new PdfPCell(new Phrase("This is table 2"));
        cell.Colspan = 3;
        cell.HorizontalAlignment = 1;
        table.AddCell(cell);
        table.AddCell("Col 1 Row 1");
        table.AddCell("Col 2 Row 1");
        table.AddCell("Col 3 Row 1");
        table.AddCell("Col 1 Row 2");
        table.AddCell("Col 2 Row 2");
        table.AddCell("Col 3 Row 2");
        table.WriteSelectedRows(0, -1, doc.Left + 200, doc.Top, writer.DirectContent);
        doc.Close();
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;" + "filename=Sample .pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Write(doc);
        Response.End();

运行此代码时,pdf 下载但显示错误消息“无法加载 PDF 文档”。请帮助我解决错误并获得预期的输出


您的代码中有很多问题。立即可见的:

  • 你没有关闭文档doc但只有在关闭时才会创建 PDF 的某些重要部分,特别是交叉引用表。因此,您必须在完成其内容后尽快关闭该文档。

  • 你尝试写下doc到响应:

    Response.Write(doc);
    

    这是错误的,你必须直接输出PdfWriter到响应。实际上,您也这样做,有点尝试将 PDF 传输两次:

    PdfWriter writer = PdfWriter.GetInstance(doc, Response.OutputStream);
    

    But:

  • 您更改响应属性after开始写回应,即您首先创建一个 PDF,并将其流式传输到Response.OutputStream然后才更改内容类型、内容配置和缓存标头。

    这很可能使得Response忽略您的设置或忘记到目前为止已流入其中的内容。

在解决这些问题之前,我建议您创建一个简单的你好世界PDF 而不是并行表,不会在 PDF 生成中出现问题,也不会在使用 Web 服务类(如Response互相混合。

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

如何在itextsharp文档中并行设置两个表? 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • Aurelia 自定义元素:访问父方法

    我正在使用 Aurelia 的自定义元素重复一组条目 这是示例要点 https gist run id 38aee85444712 2f021bc05e1e0de25ae https gist run id 38aee854447122f0
  • Webpack 在输出中禁用图像名称的散列

    构建我的 Angular 4 应用程序后 Webpack 将我的图像名称更改为bg node new png to bg node new 3746bc3ac9b1bf77d2aff2c2df901a48 png 我的 webpack co
  • TFS 2013:如何将变更集注释放入文本文件中?

    我想将所有变更集注释放入一个简单的文本文件中 以自动生成变更日志 我尝试通过在 SQL 中查询 TFS 表来做到这一点 但它是一个未记录的黑匣子 我读了一篇文章来运行这样的东西 tf history r 我获得了最新的 TFS 2013 电
  • 当Python请求库遇到重试限制时如何访问服务器响应

    我正在使用 Python requests 库来实现重试逻辑 这是我为重现我遇到的问题而制作的一个简单脚本 在重试次数用完的情况下 我希望能够记录来自服务器的至少一个响应以帮助调试 但是 我不清楚如何访问该信息 当然 我可以以其他方式实现重
  • 从图像列表加载和查看图像

    正如您所看到的 下面给出的代码不是很有用 是否可以缩短代码 鼠标滚轮向后和向前给出相同的结果 下图 无法配置 Keydown Private Sub Images Load ByVal sender As System Object ByV
  • nodeJS util.format 传递数组

    我正在使用 util format 来格式化字符串 如下所示 util format My name is s s John Smith 事实上 第二个参数是一个数组 John Smith 阻止我的代码替换第二个 s 但我需要它是一个数组
  • 为什么使用 MySQL 时带有“exists”的 sql 运行速度比“in”慢

    我是 MySQL 优化的新手 我发现了一个惊人的事情 使用 exists 的 sql 比使用 in 运行得慢 以下是我的 DDL mysql gt show create table order G 1 row Table order Cr
  • Spring批处理:在侦听器中获取ExecutionContext

    我是 Spring 批次的新手 我需要计算读取 写入和出错的元素 我定义了这样的步骤 Bean public Step stepMain StepBuilderFactory stepBuilderFactory return stepBu
  • Python - Gspread 请求错误 401

    我目前正在制作一个连接到 Google 电子表格 gspread 的 Discord 机器人 但在我运行它一段时间后 它开始发出错误 并且无法再连接到我的 gspread 除非我重新启动它 我收到的错误 https hastebin com
  • 页面方法和会话

    我已经四处寻找这个解决方案 任何见解都将受到高度赞赏 情况 当单个页面中有多个 PageMethod 调用时 每个方法调用都会持有 Session 对象的锁 从而导致阻塞 PageMethod 调用只能异步进行 Page指令转向False
  • 如何在 MVC 视图中使用 jquery/ajax 验证空格

    我有一个包含表单的 MVC 视图 现在需要验证在特定文本字段中输入的数据 我只需要确保没有空格 在我看来 有人可以给我一个使用 jquery ajax 脚本进行表单验证的示例吗 将验证构建到视图模型的一部分可能是个好主意 这样您的模型中就会
  • DBIx:带有附加属性的类多对多关系

    我正在 Catalyst 框架中使用 DBIx Class 我的本地目标是在用户和任务之间添加新的多对多关系 但我需要一个小技巧 用户可以在任务中扮演不同的角色 例如 工人 或 旁观者 所以我有users包含这些字段的表 id name I
  • AFNetworking:重试操作时访问完成处理程序

    给出一些上下文 我正在尝试为身份验证错误实现一个全局错误处理程序 使用令牌身份验证 而不是基本身份验证 它应该尝试重新身份验证 然后重复原始失败的请求 请参阅我之前的问题 AFNetworking 全局处理错误并重复请求 https sta
  • 在 Spring Boot 中使用 @TestPropertySource 覆盖 @PropertySource

    我有我的 Spring Boot 主类 SpringBootApplication PropertySource file my file properties public class Application extends Spring
  • 如何列出远程SVN存储库中的所有文件?

    我访问一个large远程 SVN 存储库 由于我通常只需要其内容的一小部分 因此我进行了 稀疏结帐 svn checkout depth empty svn ssh src 每当我需要存储库中的文件夹时 我都可以这样做 svn up fol
  • Angular 2默认选中单选按钮

    我正在尝试检查默认值为零的单选按钮 我正在尝试使用 checked true 属性 但这是行不通的
  • Swift 可重用 UITextFieldDelegate

    我正在尝试实现一个可重用的UITextFieldDelegate类如下 class CustomTextFieldDelegate NSObject UITextFieldDelegate 所有委托协议方法均已正确实现 In the con
  • Node.js:如何序列化/反序列化 React 组件?

    我想序列化一个 React 元素 给定 props 的 React 组件的实例 并在其他地方反序列化它 你为什么问 我希望能够通过标准输出从一个进程发送该类 并在另一个进程中渲染它 我还希望渲染的组件是交互式的 所以只需使用ReactDOM
  • CSS 网格布局使用 javascript 改变列宽

    我尝试设置 CSS 网格布局如下 wrapper width 800px display grid grid template columns repeat 3 200px grid template rows repeat 5 200px
  • 如何在itextsharp文档中并行设置两个表?

    How can I set two tables parallelly in a document 我的生成 pdf 的示例代码是 Document doc new Document new Rectangle 288f 144f 10 1