在使用itextpdf中,版本是5.5.6,使用Doucument方式生成pdf时,设置单元格中字体的对齐方式时,发现一些问题,并逐渐找到了解决方式。

给我的经验就是:看官网的例子才能保证代码的效果,多看官网。

下面是设置的部分代码:

PdfPTable table01 = new PdfPTable(3);
table01.setHorizontalAlignment(Element.ALIGN_CENTER);//表格整体水平居中
table01.setTotalWidth(400); PdfPCell cell01 = new PdfPCell();//单元格 cell01.setVerticalAlignment(PdfPCell.ALIGN_CENTER);//设置单元格的垂直对齐方式
cell01.setHorizontalAlignment(Element.ALIGN_RIGHT);//设置单元格的水平对齐方式
Paragraph p01 = new Paragraph("一个我嘻嘻嘻", headFont);//新建段落
cell01.addElement(p01); table01.addCell(cell01);

其中:

cell01.setVerticalAlignment(PdfPCell.ALIGN_CENTER);//设置单元格的垂直对齐方式
cell01.setHorizontalAlignment(Element.ALIGN_RIGHT);//设置单元格的水平对齐方式

这两行代码是不起作用的。

解决方法:

1、按照itextpdf的代码书写方式

直接在new pdfPCell的时候添加Phrase、Paragraph、chunk

            PdfPCell cell01 = new PdfPCell(new Phrase("哈哈哈哈哈",textFont));//单元格
cell01.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE);//设置单元格的垂直对齐方式
cell01.setHorizontalAlignment(Element.ALIGN_CENTER);//设置单元格的水平对齐方式

2、使用Paragraph的水平居中功能,并用PdfPCell的setPadding,设置上下padding。

代码:

        PdfPTable table01 = new PdfPTable(3);
table01.setHorizontalAlignment(Element.ALIGN_CENTER);//表格整体水平居中
table01.setTotalWidth(400); PdfPCell cell01 = new PdfPCell();//单元格
cell01.setPaddingTop(0f);
cell01.setPaddingBottom(10f);
cell01.setBorderColor(BaseColor.GREEN); Paragraph p01 = new Paragraph("一个我嘻嘻嘻", headFont);//新建段落
p01.setAlignment(Paragraph.ALIGN_CENTER);//段落的对齐方式 cell01.addElement(p01); table01.addCell(cell01);

3、使用getDefaultCell()方式,getDefaultCell只能设置,addCell的参数为字符串的Cell。

        table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
for (int counter = 1; counter < 101; counter++) {
table.addCell(String.valueOf(counter));
table.addCell("key " + counter);
table.addCell("value " + counter);
}

itextpdf中表格中单元格的文字水平垂直居中的设置的更多相关文章

  1. C# 获取Excel中的合并单元格

    C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...

  2. 无法读取Excel中的数据单元格。有数据,但是读出来全是空值

    C#读取Excel,取值为空的解决办法! C#读取Excel遇到无法读取的解决方法是什么呢?这样在C#读取Excel的过程中有很多问题,那么本文就向你介绍如何解决C#读取Excel遇到无法读取的解决方 ...

  3. iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建

    iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...

  4. Aspose.Word 操作word复杂表格 拆分单元格 复制行 插入行 文字颜色

    private void button3_Click(object sender, EventArgs e)         {             object savePathWord =&q ...

  5. VBA表格单元格替换文字

    Sub 表格单元格替换文字() If MsgBox("确定要替换单元格的文字吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDoc ...

  6. excel中,一系列单元格中包含某一个字段的单元格数量?

    excel中,一系列单元格中包含某一个字段的单元格数量?这个怎么写公式?如:A列单元格A1-A7的内容分别为 A.AB.BC.AC.CD.AD.EA,怎么数这一列中几个单元格的内容包含A字母? 任意单 ...

  7. Excel 2010 Alt+; (分号) --- “只选定当前选定区域中的可视单元格”

    excel怎样把筛选出来的加上颜色? 1.选中筛选结果数据区域: 2.同时按下Alt+; (分号)键,选中筛选出的数据: 3.鼠标右键,设置单元格格式: 4.在弹出的对话框中,设置字体.背景颜色,即可 ...

  8. jquery操作表格 合并单元格

    jquery操作table,合并单元格,合并相同的行 合并的方法 $("#tableid").mergeCell({ cols:[X,X] ///参数为要合并的列}) /** * ...

  9. 使用POI创建word表格合并单元格兼容wps

    poi创建word表格合并单元格代码如下: /** * @Description: 跨列合并 */ public void mergeCellsHorizontal(XWPFTable table, ...

随机推荐

  1. Mybatis ResultMap多表映射DTO

    解决问题:n+1问题,之前我的习惯是拿到单表里面的数据,然后遍历,再拿到一个与其他表对应的逻辑上的外键,然后for循环去查找其他表的数据(原因是数据量小,没有在意,还有主要是不想建外键,你知道的,外键 ...

  2. c#窗体之登录页(已连接数据库)

    效果图: 源码: 页面: using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...

  3. Identity入门1:Claims、ClaimsIdentity、ClaimsPrincipal详解【转】

    在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OWIN的 ...

  4. [转]numpy中数据合并,stack ,concentrate,vstack,hstack

    转自:https://www.cnblogs.com/onemorepoint/p/9541761.html 在python的numpy库中有一个函数np.stack() np.stack 首先sta ...

  5. WPF DataGrid 鼠标对表格双击导致客户端崩溃

    该问题是由于在创建DataGrid时没有设置为只读属性 解决:             <DataGrid Name="switchInfoList" MouseLeftBu ...

  6. java web开发需要注意的地方

    java需要注意的 1.字符串值相等比较 c#用双等号(==)来进行 字符串值相等比较.如下: string a="3"; string b="3"; if(a ...

  7. Windows&Mac安装Redis

    Windows&Mac安装Redis Window 下安装Redis Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我下载 Redis-x64-xxx.zi ...

  8. Visual Studio 调试系列7 查看变量占用的内存(使用内存窗口)

    系列目录     [已更新最新开发文章,点击查看详细] 在调试期间,“内存”窗口显示应用程序正在使用的内存空间. 调试器窗口(如监视窗口.自动窗口.局部变量窗口和快速监视对话框)显示变量,这些变量存储 ...

  9. W5500封装

    W5500是韩国一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器,W5500同时也是一颗工业级以太网控制芯片,最近发现我们国内也有和W5500 芯片一样芯片 介绍给大家 如下图:

  10. luogu P2495 [SDOI2011]消耗战 |虚树+LCA+dp

    题目描述 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望.已知 ...