使用iTextSharp版本5.5.8(5.5.7中存在相同的错误),当您向章节和章节添加图像时会出现令人不快的错误 - 图像和章节标题开始正常但很快就会变得偏移相对彼此。
从以下代码生成的PDF开始正确,它表示"第1节"以下是图像。下一部分("第2部分和第34部分;)有一些图像与部分文本重叠,下一部分甚至更糟,等等。我认为这是一个错误的文本。定位,而不是图像。
这是一个已知的iTextSharp错误吗?
static Document m_doc = null;
static BaseFont m_helvetica = null;
static Font m_font = null;
static PdfWriter m_writer = null;
static Image m_image = null;
static void Main(string[] args)
{
m_doc = new Document(PageSize.LETTER);
m_helvetica = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
m_font = new Font(m_helvetica, 10.0f);
m_writer = PdfWriter.GetInstance(m_doc, new FileStream("Output.pdf", FileMode.Create));
m_writer.StrictImageSequence = true;
m_doc.Open();
m_doc.Add(new Chunk("Created by iTextSharp version " + new iTextSharp.text.Version().GetVersion, m_font));
Chapter chapter = new Chapter("Chapter 1", 1);
chapter.TriggerNewPage = false;
if (m_image == null)
{
m_image = Image.GetInstance(new Uri("https://pbs.twimg.com/profile_images/2002307628/Captura_de_pantalla_2012-03-17_a_la_s__22.14.48.png"));
m_image.ScaleAbsolute(100, 100);
}
for (int i = 0; i < 5; i++)
{
Section section = chapter.AddSection(18, "Section " + (i + 1));
section.Add(new Chunk(" ", m_font));
section.Add(m_image);
}
m_doc.Add(chapter);
m_doc.Close();
}
答案 0 :(得分:2)
来自the documentation for the Java version:
Section
是包含其他Document
,Section
,Paragraph
和/或List
的{{1}}的一部分。
进一步查看C#源代码中的Add()
方法,我们看到:
添加段落,列表,表格或其他部分
基本上,代替Table
使用Chunk
。所以不是这个
Paragraph
使用此:
section.Add(new Chunk(" ", m_font));
或者就是这样:
section.Add(new Paragraph(new Chunk(" ", m_font)));