使用 IText 创建 Pdf 文档#

2023-11-23

如何创建带有表格的 pdf 文档,如下所示。

enter image description here


添加命名空间:

using iTextSharp.text;
using iTextSharp.text.pdf;

使用c#的代码:

    Document doc = new Document(PageSize.A4);
    var output = new FileStream(Server.MapPath("MyFirstPDF.pdf"), FileMode.Create);
    var writer = PdfWriter.GetInstance(doc, output);


    doc.Open();


    var logo = iTextSharp.text.Image.GetInstance(Server.MapPath("~/ABsIS_Logo.jpg"));
    logo.SetAbsolutePosition(430, 770);
    logo.ScaleAbsoluteHeight(30);
    logo.ScaleAbsoluteWidth(70);
    doc.Add(logo);

    PdfPTable table1 = new PdfPTable(2);
    table1.DefaultCell.Border = 0;
    table1.WidthPercentage = 80;

    var titleFont = new Font(Font.FontFamily.UNDEFINED, 24);
    var subTitleFont = new Font(Font.FontFamily.UNDEFINED, 16);

    PdfPCell cell11 = new PdfPCell();
    cell11.Colspan = 1;
    cell11.AddElement(new Paragraph("ABC Traders Receipt", titleFont));

    cell11.AddElement(new Paragraph("Thankyou for shoping at ABC traders,your order details are below", subTitleFont));


    cell11.VerticalAlignment = Element.ALIGN_LEFT;

    PdfPCell cell12 = new PdfPCell();


    cell12.VerticalAlignment = Element.ALIGN_CENTER;


    table1.AddCell(cell11);

    table1.AddCell(cell12);


    PdfPTable table2 = new PdfPTable(3);

    //One row added

    PdfPCell cell21 = new PdfPCell();

    cell21.AddElement(new Paragraph("Photo Type"));

    PdfPCell cell22 = new PdfPCell();

    cell22.AddElement(new Paragraph("No. of Copies"));

    PdfPCell cell23 = new PdfPCell();

    cell23.AddElement(new Paragraph("Amount"));


    table2.AddCell(cell21);

    table2.AddCell(cell22);

    table2.AddCell(cell23);


    //New Row Added

    PdfPCell cell31 = new PdfPCell();

    cell31.AddElement(new Paragraph("Safe"));

    cell31.FixedHeight = 300.0f;

    PdfPCell cell32 = new PdfPCell();

    cell32.AddElement(new Paragraph("2"));

    cell32.FixedHeight = 300.0f;

    PdfPCell cell33 = new PdfPCell();

    cell33.AddElement(new Paragraph("20.00 * " + "2" + " = " + (20 * Convert.ToInt32("2")) + ".00"));

    cell33.FixedHeight = 300.0f;



    table2.AddCell(cell31);

    table2.AddCell(cell32);

    table2.AddCell(cell33);


    PdfPCell cell2A = new PdfPCell(table2);

    cell2A.Colspan = 2;

    table1.AddCell(cell2A);

    PdfPCell cell41 = new PdfPCell();

    cell41.AddElement(new Paragraph("Name : " + "ABC"));

    cell41.AddElement(new Paragraph("Advance : " + "advance"));

    cell41.VerticalAlignment = Element.ALIGN_LEFT;

    PdfPCell cell42 = new PdfPCell();

    cell42.AddElement(new Paragraph("Customer ID : " + "011"));

    cell42.AddElement(new Paragraph("Balance : " + "3993"));

    cell42.VerticalAlignment = Element.ALIGN_RIGHT;


    table1.AddCell(cell41);

    table1.AddCell(cell42);


    doc.Add(table1);

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

使用 IText 创建 Pdf 文档# 的相关文章

随机推荐

  • Flutter 中已弃用“canLaunch”

    我用过网址启动器包裹 String query Uri encodeComponent Utils getSelectedStoreAddress var appleUrl maps q query var googleUrl https
  • Primefaces p:fileUpload 在 IE 10 中不起作用

    p fileUpload 中的更新属性和 onComplete 在 IE10 中不起作用 在 IE 9 中 sizeLimit 属性被忽略 有谁遇到过这种情况吗 我尝试通过在 p fileUoload 上使用 onComplete 属性来调
  • 如何在Python中查找两个日期之间的星期一或任何其他工作日的数量?

    我有两个日期 我需要找出有多少个周一至周五到来 除周六 周日 每天都应该计算在内 目前我在想 import calendar import datetime start date datetime datetime strptime 01
  • 如何在带有 Entity Framework Core 1.0 (EF7) 的脚手架 DbContext 中使用数据库视图

    很遗憾实体框架核心 1 0 以前称为实体框架 7 尚不支持视图 我正在尝试使用表来 伪造 它 然而脚手架dotnet dbcontext ef scaffold命令当前无法识别或生成视图 我想要一个允许查询视图和更新表的 DbContext
  • 在 getStaticProps 函数中序列化 Next.js 时出错?

    我在用着getStaticProps 函数 我无缘无故地收到此错误 错误 序列化错误 posts 0 从返回getStaticProps在 原因 object object Object 无法序列化为 JSON 请仅返回 JSON 可序列化
  • 使用 php 获取 mysql 表中记录总数的最佳方法是什么?

    从大表中选择记录总数的最有效方法是什么 目前 我只是在做 result mysql query SELECT id FROM table total mysql num rows result 有人告诉我 如果表中有很多记录 这不是很有效或
  • stringByAppendingPathComponent,它是如何工作的?

    编辑 v002 我看了所有的评论 我开始明白我应该做什么 为此 我修改了我的代码 见下文 我将 newPath 更改为 NSString 删除了 alloc init 和结束 release 因为它现在由系统处理 我正在使用 stringB
  • 向量上的修改时复制语义不会在循环中追加。为什么?

    这个问题听起来似乎得到了部分回答here但这对我来说还不够具体 我想更好地理解何时通过引用更新对象以及何时复制对象 更简单的例子是向量增长 下面的代码在 R 中效率极低 因为在循环之前没有分配内存 并且在每次迭代时都会创建一个副本 x ru
  • Java中有instanceOf(Class c)之类的东西吗?

    我想检查一个对象是否o是该类的一个实例C或的一个子类C 例如 如果x属于班级Point I want x instanceOf Point class to be true并且x instanceOf Object class to be
  • 在 Matlab 中通过函数句柄传递附加参数

    我有一个需要优化的函数 比如 Matlab 中的 Function 该函数取决于我想要优化的变量 例如 x 和一个不需要优化的参数 例如 Q 因此 函数 Function x Q 换句话说 我有一个 Q 值数组 并且想要为每个 Q 找到最佳
  • 获取现有的或创建新的 akka actor

    我正在尝试使用 ActorFor 获取现有的 ActorRef 或创建一个新的 ActorRef 如果它不存在 我有以下代码 但它似乎没有按预期工作 isTermminate 始终为 true ActorSystem system Acto
  • 原子操作会阻塞其他线程吗?

    我试图让 原子与非原子 的概念在我的脑海中扎根 我的第一个问题是我找不到 现实生活中的类比 就像原子操作上的客户 餐厅关系或类似的东西 我还想了解原子操作如何将自己置于线程安全编程中 在这篇博文中 http preshing com 201
  • 安装:Microsoft Visual C++ Redistributable 卡在“正在处理:Windows7_MSU_X64”

    我正在尝试安装 Microsoft Visual C Redistributable 软件包 因为无法安装我的 xampp apache 模块 安装需要很长时间才能完成 我应该怎么办 这种情况常见吗 我所要做的就是等待吗 他们完全被这个设置
  • 如何检查FormData?

    我试过了console log并使用循环遍历它for in 这里是MDN 参考在 FormData 上 两种尝试都在这fiddle var fd new FormData key poulate with dummy data fd app
  • 在 PyQt 中绘制多边形

    背景 我想在屏幕上绘制一个简单的形状 并且我选择 PyQt 作为要使用的包 因为它似乎是最成熟的 我并没有以任何方式锁定它 Problem 仅在屏幕上绘制一个简单的形状 例如多边形 似乎过于复杂 我发现的所有示例都尝试做很多额外的事情 但我
  • 需要无效 Swing 组件的高度

    基本设置是这样的 我有一个垂直的 JSplitPane 我想要一个固定大小的底部组件和一个调整大小的顶部组件 我通过调用来完成setResizeWeight 1 0 在此应用程序中 有一个按钮可恢复 默认 窗口配置 窗口的默认高度是桌面高度
  • 向量化模运算

    我正在尝试编写一些相当快速的分量向量加法代码 我正在使用 我相信是有符号的 64 位整数 函数是 void addRq int64 t a const int64 t b const int32 t dim const int64 t q
  • 以下冒号 (:) 在 MATLAB 语法中意味着什么?

    a imread autumn tif a double a row col dim size a red a 1 green a 2 blue a 3 冒号有什么作用 最后三行是什么意思 上面的片段来自 Dhananjay Thecked
  • 如何在 Junit3 中获得 @BeforeClass 和 @AfterClass 等效项?

    我想在用测试装置替换应用程序的数据库之前备份它 由于 Android 限制 我被迫使用 Junit3 并且我想实现 BeforeClass 和 AfterClass 的等效行为 更新 现在有一个工具 Junit4Android 以获得支持
  • 使用 IText 创建 Pdf 文档#

    如何创建带有表格的 pdf 文档 如下所示 添加命名空间 using iTextSharp text using iTextSharp text pdf 使用c 的代码 Document doc new Document PageSize