iTextSharp 支持创建形状和路径PdfContentByte
类,您可以在那里设置颜色并绘制曲线和基本元素...是否有一种机制可以以其他方式执行?我可以通过致电获取内容PdfReader.GetPageContent(...)
但我没有找到一个“解析器”来读取这些操作,将它们应用于图形上下文,例如将其绘制在面板上。
Example:
1 1 1 RG
1 1 1 rg
0.12 0 0 0.12 16 31 cm
q
480 421 m
4318 421 l
4318 5459 l
480 5459 l
480 421 l W n
0.074509806931 0.074509806931 0.074509806931 RG
0.074509806931 0.074509806931 0.074509806931 rg /OC /oc1 BDC
....
感谢您的回复!
这是提取页面不同命令的起点:
var file = "test.pdf";
var reader = new PdfReader(file);
var streamBytes = reader.GetPageContent(2);
var tokenizer = new PRTokeniser(new RandomAccessFileOrArray(streamBytes));
var ps = new PdfContentParser(tokenizer);
List<PdfObject> operands = new List<PdfObject>();
while (ps.Parse(operands).Count > 0)
{
PdfLiteral oper = (PdfLiteral)operands[operands.Count - 1];
var cmd = oper.ToString();
switch (cmd)
{
case "q":
Console.WriteLine("SaveGraphicsState(); //q");
break;
case "Q":
Console.WriteLine("RestoreGraphicsState(); //Q");
break;
// good luck with the rest!
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)