c# - 在itextsharp中解析html时pdf中的行距
问题描述
在 iTextSharp 中解析 HTML 时,生成的 pdf 具有创建 2 个文档的行空间
我尝试添加
段落 p = new Paragraph(); p.SetLeading(0.0f, 0.1f); 但不起作用
sb = new StringBuilder();
sb.Append("<meta charset='windows - 1256'><div class='div1' border='1' style='width: 2in;height: 1in;border: 1px solid blue;font-size:12px;'>");
sb.Append("<div size='2' style='float:left'>");
sb.Append("<span>Nathametha<br>");
sb.Append("Mohammadhussain<br>");
sb.Append("Abbasbhai<br>");
sb.Append("53<br>");
sb.Append("Paracetamol<br>");
sb.Append("3</span>");
sb.Append("</div>");
sb.Append("<div style='float:right'>");
sb.Append("</div>");
sb.Append("</div>");
StringReader sr = new StringReader(sb.ToString());
//Rectangle myRectangle = new Rectangle(;
var style = new StyleSheet();
style.LoadTagStyle("span", "font-size", "2px");
style.LoadTagStyle("span", "margin-top", "0px");
Document pdfDoc = new Document(new Rectangle(144f, 72f), 0, 0, 0, 0);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
htmlparser.SetStyleSheet(style);
Paragraph p = new Paragraph();
p.SetLeading(0.0f, 0.1f);
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
pdfDoc.Add(p);
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
解决方案
推荐阅读
- visual-studio-code - 等待 CouchDB 容器启动
- laravel - Nova中的数组到字符串转换
- mysql - 我们已经使用 phpmyadmin 5.0 从 Mariadb 10.1.21 迁移到 mysql 5.6。迁移后,我们面临存储过程中的问题
- c++ - 链接时跳过带有未显式引用但可通过工厂获得的类的库的目标文件
- reactjs - Google React 图表放置和图例放置
- python - 运行时是否可以防止无头Chrome窗口启动?
- python - 从熊猫列表系列中提取元素并存储为单独的系列
- php - 使用 Doctrine 的顺序连接表
- django - Django Forms 中的标签不会更改其名称
- intellij-idea - Intellij vim 仿真退格不起作用