如何使用 iText\iTextSharp 创建圆角表格? [复制]

2023-12-09

我必须创建一个具有圆角的表格,如下所示:

enter image description here

我可以用 iTextSharp 做到这一点吗?


这是使用单元事件完成的。

请参阅我的书中的日历示例(Java / C#).

确保您没有向单元格添加任何“自动”边框,而是在单元格事件中自己绘制边框:

table.DefaultCell.Border  = PdfPCell.NO_BORDER;
table.DefaultCell.CellEvent = new RoundedBorder();

The RoundedBorder那么类将如下所示:

class RoundedBorder : IPdfPCellEvent {
  public void CellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas) {
    PdfContentByte cb = canvas[PdfPTable.BACKGROUNDCANVAS];
    cb.RoundRectangle(
      rect.Left + 1.5f, 
      rect.Bottom + 1.5f, 
      rect.Width - 3,
      rect.Height - 3, 4
    );
    cb.Stroke();
  }
}

当然,您可以微调值 1.5、3 和 4 以获得不同的效果。

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

如何使用 iText\iTextSharp 创建圆角表格? [复制] 的相关文章

  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 没有特殊字符的密码验证器

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

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 将 SignedHash 插入 PDF 中以进行外部签名过程 -workingSample

    遵循电子书第 4 3 3 节 PDF 文档的数字签名 https jira nuxeo com secure attachment 49931 digitalsignatures20130304 pdf 我正在尝试创建一个工作示例 其中 客
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 需要帮助优化算法 - 两百万以下所有素数的总和

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

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 如何从 Excel 的数据列中删除字符

    我正在格式化收到的一些数据 我在 A 列中有几百个学生的名字 由于某种奇怪的原因 有一个随机的 随机放置在名称中 我想以编程方式删除所有 所有名字中的字符 For x 2 To 300 Dim strStudent as String ho
  • 如何将外部自定义 URL 添加到 woocommerce 端点

    我想将自定义端点 URL 添加到 woocommerce 上的我的帐户页面 是否可以 因此 当客户点击此链接时 他们将重定向到我的 YouTube 页面 function custom wc end point if class exist
  • 将段落拆分成句子

    我有一大堆文字 例如 我想将一个段落分成句子 但有一个问题 我的段落包括诸如 Jan 13 2014 之类的日期 诸如 U A E 之类的单词以及诸如 2 2 之类的数字 我该如何分割这个 Output I want to split a
  • 排列矩阵的行和列

    假设我有以下矩阵 数组 array 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 我想应用以下排列 1 gt 5 2 gt 4 结果最终应该是 array 1 1 1 0 0 1 0 1
  • 如何确定文件、函数和行号?

    在 C 中 我可以像这样打印调试输出 printf FILE s FUNC s LINE d LOG s n FILE FUNCTION LINE logmessage 我怎样才能在Python中做类似的事情 有一个名为inspect它提供
  • CSS 悬停时更改颜色

    我试图用第二个来覆盖我的第一个 颜色变化 我希望在悬停文本时在图标上显示银色 在悬停图标时在图标上显示红色图标 I tried HTML ul li class liDoc a href My link a i class fa fa tr
  • 如何使用正则表达式 Java 将方括号内的破折号替换为下划线

    我试图用下划线替换方括号内的破折号 但它会用字符串中的下划线替换所有破折号 例如 我想替换 a a gamma with a a gamma 但它取代了all带有下划线的字符串中的破折号 您可以使用 String n a a gamma S
  • Task.WhenAny 和 SemaphoreSlim 类

    使用时WaitHandle WaitAny and Semaphore class像下面这样 var s1 new Semaphore 1 1 var s2 new Semaphore 1 1 var handles new s1 s2 v
  • 在调用所有 Promise 后循环遍历 jQuery Deferreds

    我目前正在尝试使用 HTML5 FileAPI 构建文件上传器 文件上传器应该处理多个文件并显示图像预览 如果文件是图像 由于 FileReader 类异步工作 我想等到所有文件都被读取 因此我正在使用 Deferreds 读取文件的方法返
  • Logstash:跨事件保持值

    我有一个日期在每个日志文件中只出现一次 并且我尝试在匹配一次后将该日期添加到所有后续事件中 使其在某些方面充当全局变量 日期位于文档顶部 我无法使用multiline或更改文件名或内容 为此 我的方法是使用grep过滤器drop gt fa
  • 使用 chrome.tabCapture.capture() 和 MediaRecorder() 时选项卡的原始音频被静音

    当我使用 chrome tabCapture capture 和 MediaRecorder API 来记录我正在捕获的选项卡的流原始音频时 该音频被静音 但音频在录制的流中正常 我希望选项卡中的音频正常运行 class Recorder
  • 我应该如何在 Java 中使用 getResource() ?

    这个问题在很多地方都有人提出 但也有很多细微的差别 例如Java getClassLoader getResource 让我发疯等等 我仍然无法让它发挥作用 这是一个代码片段 String clipName Chook wav ClassL
  • 为什么不可能覆盖仅 getter 的属性并添加 setter?

    为什么不允许使用以下 C 代码 public abstract class BaseClass public abstract int Bar get public class ConcreteClass BaseClass public
  • 如何并排放置两个jpanel

    我尝试将两个 jpanel 并排放置 但此时我无法执行我想要的操作 我有这个代码 this videoPanel new JPanel this videoPanel setBackground new Color 102 102 102
  • 在 Windows 批处理文件中访问剪贴板

    知道如何使用批处理文件访问 Windows 剪贴板吗 设置剪贴板的内容 如 Chris Thornton klaatu 和一堆其他人已经说过 使用 windir system32 clip exe 更新2 对于快速的一句台词 你可以这样做
  • 在Android中查看holder类

    这是一个基本问题 我正在浏览谷歌关于 Android 的官方视频 在其中他们使用 Viewholder 类作为 静态类Viewholder Image查看图像 文本视图文本 将此类声明为静态或将视图持有者用作静态内部类是否正确 我认为假设如
  • Python:运行时根据requirements.txt设置PYTHONPATH

    我有一个带有命令行脚本的 Python 应用程序 我通过公开脚本setuptools 入口点 功能 每当用户运行脚本时 我希望环境与包的一致requirements txt 这意味着环境必须包含与版本说明符匹配的每个依赖包的版本requir
  • SQLCMD:提示输入变量?

    来自 Oracle 的背景 Oracle 的 SQLPlus 可以让您指示一个变量 如果未设置该变量 系统会提示您提供一个值 我正在使用 SQLCMD 使用 var name 语法 在 SSMS SQLCMD 模式下 我得到 发生致命的脚本
  • Anaconda 更新后 Jupyter Notebook 内核失效

    我遇到了以下问题 更新 Anaconda 后 因为我将 skimage io 导入 Jupyter Notebook 中的项目时出错 出现了更大的错误 Dead Kernel 现在我无法启动一个项目 因为 Jupyter 给出以下错误 Co
  • 如何使用 iText\iTextSharp 创建圆角表格? [复制]

    这个问题在这里已经有答案了 我必须创建一个具有圆角的表格 如下所示 我可以用 iTextSharp 做到这一点吗 这是使用单元事件完成的 请参阅我的书中的日历示例 Java C 确保您没有向单元格添加任何 自动 边框 而是在单元格事件中自己