«Enter» не распознается во время преобразования PDF в C # - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть HTMLEditor (контроль ajax).Я конвертирую содержимое, присутствующее в HTMLEditor, в pdf следующим образом

protected void Button2_Click(object sender, EventArgs e)
    {

        String dbDate = DateTime.ParseExact(TextBox3.Text, "dd/mm/yyyy", null).ToString("yyyy-mm-dd");

        //Extract data from Page (pd).
        //Label16.Text = Editor1.Content; // Attribute
        // makae ready HttpContext
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.ContentType = "application/pdf";
        // Create PDF document
        Document pdfDocument = new Document(PageSize.A4, 80, 50, 30, 65);


        PdfWriter wri = PdfWriter.GetInstance(pdfDocument, new FileStream("d://" + HiddenField1.Value + HiddenField4.Value + dbDate + ".pdf", FileMode.Create));

        PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);

        pdfDocument.Open();
        string htmlText = Editor1.Content;
        System.Collections.Generic.List<IElement> htmlarraylist = HTMLWorker.ParseToList (new StringReader(htmlText), null);
        for (int k = 0; k < htmlarraylist.Count; k++)
        {
            pdfDocument.Add((IElement)htmlarraylist[k]);
        }

        pdfDocument.Close();
        HttpContext.Current.Response.End();
    }

Теперь проблема в том, что если я нажму enter в HTMLEditor, сгенерированный pdf не покажет никаких изменений.

У меня уже естьжестко запрограммировало некоторое содержимое в HTMLEditor:

"<br/>" + "<P align= 'right'>"+"By Order of the Court,".Replace(Environment.NewLine,"<br/>")+"</P>" +
   "<br/><br/>" + "<P align= 'right'>( G. M. Redker )&nbsp;&nbsp;&nbsp;&nbsp;" +
   "<br/>" + "Assistant Registrar &nbsp;" +
   "<br/>" + "High Court of Bombay" +
   "<br/>" + "Panaji Bench (Goa)&nbsp;&nbsp;&nbsp;" + "</P>";

теперь, если я нажимаю ввод перед постановлением суда, изменения не переносятся в файл pdf.

, т. е. если я нажимаю клавишу ввода после строки, чем pdf не показывает пробел между двумя строками, он отображает непрерывную строку.

Все это происходит только тогда, когда я развертываю приложение на сервере, моя машина разработки показывает правильный вывод.

Это ошибка, потому что я делаю следующее:

    string htmlText = Editor1.Content;
    System.Collections.Generic.List<IElement> htmlarraylist = HTMLWorker.ParseToList (new StringReader(htmlText), null);
    for (int k = 0; k < htmlarraylist.Count; k++)
    {
        pdfDocument.Add((IElement)htmlarraylist[k]);
    } 

Пожалуйста, помогите мне решить мою проблему

1 Ответ

1 голос
/ 23 декабря 2010

Обычно пробелы в html свернуты, поэтому такое поведение кажется нормальным. Используйте тег
для имитации новой строки или используйте теги

.
...