Unity使用iTextSharp导出PDF-03显示文本内容

文本内容自动排布

类似GUILayout

Chunk

最简单的文本对象

  1. 显示文本
  2. 设置使用的字体,不设置字体,默认使用英文字体
  3. 设置下划线
  4. 设置背景色
  5. 文档中只使用Chunk,文本内容不会自动换行
    换行:Chunk.NEWLINE或者"\n"
csharp 复制代码
doc.Add(new Chunk("Hello PDF!"));//使用英文字体 不显示中文
doc.Add(new Chunk("你好,PDF!", BoldFont));//显示中文
var chunk = new Chunk("你好,PDF!", BoldFont);
chunk.SetUnderline(0.5f, -1f);//设置下划线
chunk.SetBackground(BaseColor.RED);//设置背景色
doc.Add(chunk);//"你好,PDF!"使用BoldFont字体,背景红色,有下划线显示在pdf中
for (int i = 0; i < 12; i++)//文字重叠在一行
{
    var chunk = new Chunk("你好,PDF!", BoldFont);
    doc.Add(chunk);
}       

文字重叠效果如下

Phrase

比Chunk高级的文本对象,由多个Chunk组成。

Phrase可以存放多个不同样式的Chunk 且可以自动换行

  1. 文本长度超出文档宽度自动到下一行显示。
  2. 如果文档中加入Phrase,之前添加的Chunk会自动换行。
  3. 可设置行高,单位pt磅
    SetLeading(固定行高,倍数行高)
csharp 复制代码
for (int i = 0; i < 12; i++)
{
    var phrase = new Phrase();
    var chunk = new Chunk("你好,PDF!", BoldFont);
    phrase.Add(chunk);
    doc.Add(phrase);
}

Paragraph

继承Phrase,可添加Chunk和Phrase

  1. 自动换行,且每一个对象都在一个新行开始
  2. 可在段落上方和下方设置间距 SpcingBefore,SpacingAfter,单位像素
  3. 设置缩进,FirstLineIndent首行缩进,IndentationLeft,IndentationRight
  4. 设置对齐方式,Alignment 0左对齐,1居中,2右对齐

文本设置在绝对位置

pdf文档页面的原点(0,0)在左下角,向上为+y,向右为+x。

文档的PageSize可获取页面的宽高数值

文字内容作为一个矩形,左下角作为位置点。

csharp 复制代码
var writer = PdfWriter.GetInstance(doc, new FileStream(fileName, FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
cb.SetFontAndSize(BoldBaseFont, 12f);//设置字体和大小
cb.SetTextMatrix(doc.PageSize.Width / 2, doc.PageSize.Height / 2);//设置位置
cb.ShowText("你好,PDF!");//设置内容
cb.EndText();
相关推荐
CHQIUU1 小时前
PDF.js 生态中如何处理“添加注释\添加批注”以及 annotations.contents 属性
开发语言·javascript·pdf
寒也1 小时前
识别法院PDF文件特定字段并插入数据库【正则表达式+本地化部署】
java·数据库·正则表达式·eclipse·pdf·达梦·ruoyi
心前阳光2 小时前
Unity-微信截图功能简单复刻-03绘制空心矩形
unity·微信·游戏引擎
ZJL-阿友5 小时前
python pdf转图片再OCR
python·pdf·ocr
benben0449 小时前
Unity3D仿星露谷物语开发36之锄地动画2
游戏·ui·unity·游戏引擎
人生不过一瞬间15 小时前
Unity webgl 获取图片或视频数据
unity·lucene·webgl
开开心心就好21 小时前
实用电脑工具,轻松实现定时操作
python·学习·pdf·电脑·word·excel·生活
CHQIUU21 小时前
如何在PDF.js中改造viewer.html以实现PDF的动态加载
javascript·pdf·html
Hello.Reader21 小时前
高可靠 ZIP 压缩方案兼容 Office、PDF、TXT 和图片的二阶段回退机制
开发语言·pdf·go
阿文_ing1 天前
记录一次项目中使用pdf预览过程以及遇到问题以及如何解决
pdf