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