用于创建标签的itextsharp编辑器

本文关键字:itextsharp 编辑器 标签 创建 用于 | 更新日期: 2023-09-27 18:33:39

我想知道是否存在一些用于编辑itextsharp代码的程序。

现在我直接在VS lile中编写代码:

// Delivery address details
int left_margin = 40;
int top_margin = 720;
writeText(cb, "Delivery address", left_margin, top_margin, f_cb, 10);
writeText(cb, drHead["delCustomerName"].ToString(), left_margin, top_margin-12, f_cn, 10);
writeText(cb, drHead["delAddress1"].ToString(), left_margin, top_margin-24, f_cn, 10);
writeText(cb, drHead["delAddress2"].ToString(), left_margin, top_margin-36, f_cn, 10);
writeText(cb, drHead["delAddress3"].ToString(), left_margin, top_margin-48, f_cn, 10);
writeText(cb, drHead["delZipcode"].ToString(), left_margin, top_margin-60, f_cn, 10);
writeText(cb, drHead["delCity"].ToString() + ", " + drHead["delCountry"].ToString(), left_margin+65, top_margin-60, f_cn, 10);

但我想为此使用一些编辑器,因为手写这很糟糕。我正在寻找编辑器,但找不到。

用于创建标签的itextsharp编辑器

我猜你继承了一些代码,对吧?我这么说是因为writeText()不是来自iTextSharp,而是某人的特定实现,它包裹了iTextSharp的代码。

iTextSharp是一个最终生成PDF的库,因此受PDF规范的约束。这首先是要理解的最重要的事情。即使你已经知道这一点,你也必须始终牢记这一点。

iText 以两种基本模式运行,1( 完全抽象,您可以添加"段落"和"表格",2( 手动放置模式,您说"在此坐标处使用此字体编写此文本,别担心,我已经测量了所有内容,所以我知道在哪里插入换行符,这样它看起来就不会奇怪。

完全抽象模式(我的术语,不是他们的术语(使用Document对象,您创建新的Paragraph对象并将它们AddDocument,iText 为您计算其余部分。控制较少,但如果你能生活在这种模式下,你的生活就会容易得多。

手动放置模式(再次,我的术语,而不是他们的术语(使用 PdfWriterPdfContentByte 类的实例来发出更接近 PDF 规范的命令。 这种模式的使用假设您至少部分阅读了规范。例如,您应该知道"段落"和"表格"实际上并不存在于PDF中。

您使用的变量 cb 几乎肯定是PdfContentByte的实例,因此您使用的是手动放置模式。

现在回答你的问题。

不,没有GUI程序可以编辑特定于iTextSharp的代码。但是,有些程序,如Adobe Acrobat,Adobe Illustrator和Adobe InDesign确实知道如何处理PDF。那里可能也有免费的。您可以使用这些程序,找到事物的x,y坐标并手动将其写入代码中。