c# - 用于创建标签的 itextsharp 编辑器

标签 c# itext

我想知道是否存在一些用于编辑 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 会为您解决剩下的问题。控制较少,但如果你能生活在这种模式下,你的生活就会容易得多。

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

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

现在回答你的问题。

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

关于c# - 用于创建标签的 itextsharp 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365627/

相关文章:

java - iText PdfTextExtractor getTextFromPage 异常 "Error reading string at file pointer"

C# 有抽象类和接口(interface),它也应该有 "mixins"吗?

c# - 从字节数组运行程序

Delphi 开发人员的 C# 标准/风格?

c# - 为了使二进制反序列化失败,类/对象必须更改多少

java - 如何使用现有表单中的 iText 将复选框样式设置为 "Check"?

java - iTextpdf 背景仅设置为可用文本

c# - 在 C# 中,内部结构给出编译器警告

itext - Table.getNumberOfRows() 的行为

ruby-on-rails - 如何设置 pdftk 或 iText 以在 Heroku 上使用 Rails 3?