4
到目前爲止,我看到的所有使用ITextSharp的示例都是從頭開始創建一個新文檔,然後添加一些內容並關閉它。 如果我需要對PDF執行多個操作,例如我想添加一個段落然後添加一行,該怎麼辦? 例如,如果我運行這個簡單的控制檯應用程序,其中我只創建一個PDF並添加一個段落,然後關閉它,一切運行良好。如何添加段落然後添加一行?
class Program
{
static void Main(string[] args)
{
Document pdfDoc = new Document();
PdfWriter.GetInstance(pdfDoc, new FileStream("TestPDF.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Paragraph("Some Text added"));
pdfDoc.Close();
Console.WriteLine("The file was created.");
Console.ReadLine();
}
}
但是,如果我需要做別的事情喜歡畫這樣
class Program
{
static void Main(string[] args)
{
Document pdfDoc = new Document();
PdfWriter.GetInstance(pdfDoc, new FileStream("TestPDF.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Paragraph("Some Text added"));
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, new FileStream("TestPDF.pdf", FileMode.OpenOrCreate));
PdfContentByte cb = writer.DirectContent;
cb.MoveTo(pdfDoc.PageSize.Width/2, pdfDoc.PageSize.Height/2);
cb.LineTo(pdfDoc.PageSize.Width/2, pdfDoc.PageSize.Height);
cb.Stroke();
writer.Close();
pdfDoc.Close();
Console.WriteLine("The file was created.");
Console.ReadLine();
}
}
試圖打開該文件,因爲它已經被pdfDoc打開時,我得到一個錯誤的線路。 如果我在pdfDoc.Close()之後放置突出顯示的代碼,則顯示「文檔未打開」錯誤 如何從添加文本切換到添加行? 我是否需要關閉文檔,然後用PDFReader重新打開它並在那裏修改它,或者我可以一次完成所有工作嗎?