Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用iTextSharp在pdf文档中的特定位置写入zapfdingbatslist_C#_Pdf_Itextsharp - Fatal编程技术网

C# 如何使用iTextSharp在pdf文档中的特定位置写入zapfdingbatslist

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

我想在iTextSharp中的pdf文档的特定位置使用zapfdingbatslist打勾

到目前为止,我可以做的是显示复选标记,但它都在文档的一侧,而不是我想要的特定X,Y坐标。我有一个下面的代码,希望能让你知道我在说什么

    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);