我想知道是否存在一些用于编辑 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);
但我想为此使用一些编辑器,因为用手写起来很糟糕。我正在寻找编辑器,但找不到。
最佳答案
我猜你继承了一些代码,对吧?我这么说是因为 writeText()
不是来自 iTextSharp,它是某人的特定实现,它包装了 iTextSharp 的代码。
iTextSharp 是一个最终生成 PDF 的库,因此受 PDF 规范的约束。这是首先要理解的最重要的事情。即使您已经知道这一点,您也必须始终牢记这一点。
iText 以两种基本模式运行,1)完全抽象,您添加“段落”和“表格”,2)手动放置模式,您可以说“在这个坐标处使用这种字体编写此文本,不用担心,我已经测量了所有内容,所以我知道在哪里插入换行符,这样看起来就不会很奇怪。”
完全抽象模式(我的术语,不是他们的)使用 Document
对象,您创建新的 Paragraph
对象并将它们添加
到Document
和 iText 会为您解决剩下的问题。控制较少,但如果你能生活在这种模式下,你的生活就会容易得多。
手动放置模式(再次强调,这是我的术语,不是他们的)使用 PdfWriter
和 PdfContentByte
类的实例来发出更接近 PDF 规范的命令。使用这种模式假设您至少已经部分阅读了规范。例如,您应该知道 PDF 中实际上并不存在“段落”和“表格”。
您使用的变量 cb
几乎肯定是 PdfContentByte
的实例,因此您正在使用手动放置模式。
现在回答你的问题。
不,没有 GUI 程序可以编辑特定于 iTextSharp 的代码。然而,有些程序(例如 Adobe Acrobat、Adobe Illustrator 和 Adobe InDesign)确实知道如何处理 PDF。那里可能也有免费的。您可以使用这些程序,找到事物的 x,y 坐标并手动将它们写入您的代码中。
关于c# - 用于创建标签的 itextsharp 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365627/