Вставьте разрыв страницы в сгенерированный HTML.доктор

в настоящее время я генерирую a .файл doc как HTML-код использование asp.NET.

Я хочу, чтобы вставить разрыв страницы на страницу, но не знаю как.

Я пробовал использовать стиль css= 'page-break-before: always', но он ничего не делает.

это код, присвоенный событию нажатия кнопки:

    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.Charset ="";

    HttpContext.Current.Response.ContentType ="application/msword";

    string strFileName = "GenerateDocument"+ ".doc";
    HttpContext.Current.Response.AddHeader("Content-Disposition","inline;filename=" + strFileName);

    StringBuilder strHTMLContent = new StringBuilder();

    strHTMLContent.Append("<p align='Center'>Content Before Page Break</p>".ToString());

    strHTMLContent.Append("<br><br>".ToString());
    strHTMLContent.Append("<p class='pageBreak' style='mso-special-character:line-break;'>meh</p>".ToString());

    strHTMLContent.Append("<br><br>".ToString()); 
    strHTMLContent.Append("<p align='Center'>Content After Page Break</p>".ToString());

    HttpContext.Current.Response.Write(strHTMLContent);
    HttpContext.Current.Response.End();
    HttpContext.Current.Response.Flush();

4 ответов


Я бы использовал Gios.Вместо этого библиотека Word .NET. Гораздо проще создать RTF-совместимые файлы word с таблицами и разрывами страниц и т. д.

сначала я попытался создать файлы Doc на основе XML и обнаружил, что Gios лучше:

вот статья об этом:

http://www.codeproject.com/KB/string/gioswordnetlibrary.aspx

http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=11252


Word имеет свои собственные специальные классы. mso-special-character: page-break; работает в этой ситуации, как упоминалось Пеккой, однако чего не хватает, это должно быть на теге
. Таким образом, будет работать следующий код:

<br clear=all style='mso-special-character:line-break;page-break-before:always'>

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


Я не знаю, что такое нотация Office, но я бы создал документ с разрывом страницы в Word, сохранил его как HTML и посмотрел, что он использует.

угадывание из блока кода, который вы показываете, это может быть

mso-special-character:page-break;

Не создавайте файлы MS Word с HTML

вы не хотели бы построить дом с планами для лодки, не так ли?

Если вы хотите сделать это программно, я предлагаю вам либо взглянуть на формат docx или даже спецификацию формата rich text и перейти оттуда. Но в любом случае вы идете по неправильному пути, и там уже есть библиотеки, которые вы можете использовать.

Я предлагаю вам старт вот!--10-->