Вставьте разрыв страницы в сгенерированный 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-->