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();
相关推荐
ONLYOFFICE1 小时前
如何使用 ONLYOFFICE 宏对 PDF 表单中的特定字段执行计算
java·javascript·pdf
@M_J_Y@4 小时前
Unity AssetBundles资源加载管理器
unity·c#·游戏引擎
青岚岁叶8 小时前
Unity开发——点击事件/射线检测
unity·c#·功能方法
小锋学长生活大爆炸10 小时前
【软件】免费的PDF全文翻译软件,能保留公式图表的样式
ai·pdf·开源·免费·翻译·软件
IDRSolutions_CN13 小时前
PDF文件里到底有什么?
java·经验分享·pdf·软件工程·团队开发
萧然CS21 小时前
【Unity】TextMesh Pro显示中文部分字体异常
unity·游戏引擎
何包蛋H1 天前
分享vue好用的pdf 工具实测
javascript·vue.js·pdf
Greyscarf1 天前
WPF中查看PDF文件之MoonPdfLib类库
pdf
Bruce_Liuxiaowei1 天前
基于Python的PDF转PNG可视化工具开发
开发语言·python·pdf
翻滚吧键盘1 天前
jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.
ide·jupyter·pdf