尝试将纯文本文件转换为iTextSharp而不会丢失格式

时间:2011-08-08 20:18:25

标签: c# itextsharp

我正在尝试使用iText Sharp将文本文件转换为PDF。 转换本身不是问题,但我无法创建PDF文件,使其看起来与文本文件中的文本对齐的方式完全相同。

这是我正在使用的代码:

public void GetPDF(string data)
    {

        using (MemoryStream ms = new MemoryStream())
        {
            Rectangle docSize = new Rectangle(612, 798);
            Document myDocument = new Document(PageSize.A4.Rotate());

            PdfWriter.GetInstance(myDocument, new FileStream
                                         ("MyNewPDF.pdf", FileMode.Create));

            // step 3:  Open the document now using
            myDocument.Open();

            // step 4: Now add some contents to the document
            myDocument.Add(new Paragraph(data));
            myDocument.Close();
        }
    }

是否有人建议如何简单地将文本文件转换为PDF而不会丢失文本文件的格式? 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

我建议您的PDF文件使用单声道间隔字体,如Courier New。

答案 1 :(得分:0)

纯文本文件不包含格式。当您参考文本的对齐方式时,我必须假设您正在查看具有固定宽度或等宽字体的文本文件。因此,当您将文本文件转换为PDF时,应指定使用固定宽度/等宽字体(例如Lucida Console,Courier New,Consolas等)

接下来,通常不会在纯文本文件中指定自动换行。文本的长段落将以回车/换行符结束,就是这样。 PDF转换可能会在页面边界处引入一些自动换行。要控制它,你需要选择一个包装你想要的字体大小,或者手动插入一些CR / LF。