C# 如何使用iTextSharp在pdf文档中的特定位置写入zapfdingbatslist
我想在iTextSharp中的pdf文档的特定位置使用zapfdingbatslist打勾 到目前为止,我可以做的是显示复选标记,但它都在文档的一侧,而不是我想要的特定X,Y坐标。我有一个下面的代码,希望能让你知道我在说什么C# 如何使用iTextSharp在pdf文档中的特定位置写入zapfdingbatslist,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我想在iTextSharp中的pdf文档的特定位置使用zapfdingbatslist打勾 到目前为止,我可以做的是显示复选标记,但它都在文档的一侧,而不是我想要的特定X,Y坐标。我有一个下面的代码,希望能让你知道我在说什么 String outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf"); System.IO.FileStream
String outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf");
System.IO.FileStream fs;
Document doc = new Document(PageSize.A4, 20, 20, 10, 10);
PdfContentByte cb;
PdfWriter writer;
fs = new System.IO.FileStream(outputFile, System.IO.FileMode.Create);
writer = PdfWriter.GetInstance(doc, fs);
doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);
doc.Open();
cb = writer.DirectContent;
List myList = new ZapfDingbatsList(52); // Check mark symbol from Dingbatslist
// I have some more code here but it is not needed for the problem
// and thererfore not shown
// I could shohw the dingbatslist check mark here
myList.Add(" ");
doc.Add(myList); // However I want to show it in a specific X, Y position
doc.Close();
writer.Close();
fs.Close();
有什么想法吗?顺便说一句,我是大多数的作者(以及iText的原始开发人员,包括
文档
,PdfWriter
,ZapfdingbatsList
,…类),如果您花些时间阅读iText文档,我将不胜感激
让我们从介绍Font
类开始并看一看
例如:
Font font = new Font(Font.FontFamily.ZAPFDINGBATS, 12);
一旦有了字体对象,就可以创建一个短语
(也在第2章中解释):
其中zapfstring
是一个字符串
,包含您想要的任何Zapfdingbats字符
要在绝对位置添加此短语,您需要阅读第3章。看一看灵感,例如:
其中200
和500
是X和Y坐标,0
是以度表示的角度。您也可以选择ALIGN\u RIGHT
或ALIGN\u LEFT
,而不是ALIGN\u CENTER
在代码示例中,您使用列表将Zapfdingbats图示符添加到文档中。请花点时间设身处地听我说。难道你不觉得你是参加红辣椒演唱会的袜子的发明者吗?顺便说一句,我是大多数的作者(以及iText的原始开发者,包括
文档
,PdfWriter
,ZapfdingbatsList
,…类),如果您花点时间阅读iText文档,我将不胜感激
让我们从介绍Font
类开始并看一看
例如:
Font font = new Font(Font.FontFamily.ZAPFDINGBATS, 12);
一旦有了字体对象,就可以创建一个短语
(也在第2章中解释):
其中zapfstring
是一个字符串
,包含您想要的任何Zapfdingbats字符
要在绝对位置添加此短语,您需要阅读第3章。看一看灵感,例如:
其中200
和500
是X和Y坐标,0
是以度表示的角度。您也可以选择ALIGN\u RIGHT
或ALIGN\u LEFT
,而不是ALIGN\u CENTER
在代码示例中,您使用列表将Zapfdingbats图示符添加到文档中。请花点时间设身处地听我说。你不觉得你是参加红辣椒演唱会的袜子的发明者吗?这是我在这里最喜欢的,这样你就可以吸引很多聪明的人。有多少人会直接从一本高质量的书的作者那里得到答案?我想不会太多。谢谢@BrunoLowagie先生,我非常感谢您的正确回答/解决方案。上帝保佑。我的部分工作是回答问题,但这样做很有趣;-)这就是我在这里所喜欢的,这样你就可以找到很多聪明的人。有多少人会直接从一本高质量的书的作者那里得到答案?我想不会太多。谢谢@BrunoLowagie先生,我非常感谢您的正确回答/解决方案。上帝保佑。我的部分工作是回答问题,但这样做很有趣;-)
PdfContentByte canvas = writer.DirectContent;
ColumnText.ShowTextAligned(canvas, Element.ALIGN_CENTER, phrase, 200, 500, 0);