Я работаю с Telerik Word Processing (WP), и в некоторых случаях вывод HTML на экране имеет зачеркнутую строку, чтобы показать, что событие отменено.
Из-за того, как работает WP, он не может использовать CSS стандартным способом, используя ссылки и относительные пути, поэтому я использую теги стиля в файле CSHTML.
Если на странице я использую
.cancelled-event {
color: #c82333;
text-decoration: underline !important
}
Текст подчеркнут и окрашен правильно, если я использую
.cancelled-event {
color: #c82333;
text-decoration: line-through !important
}
Я просто получаю текст нужного цвета,
Overline также не работает, но только проверил это, чтобы убедиться, что я не идиот (не значит, что я не идиот, но все же один из легко проверяемых)
Что бы я хотелпомогите с,
- Кто-нибудь еще испытал это?Если да, то как вы решили это,
- Какие еще предложения есть, чтобы получить
Страница CSHTML, как показано ниже, код munis, который раздувает этот вопрос.
<style>
.date-selection {
border: 1px solid #8c8c8c;
background-color: #ffffff
}
.cancelled-event {
color: #c82333;
text-decoration: line-through !important
... more styles here...
}
</style>
<img src="http://localhost:8001/images/logo.png" />
<br/>
<partial name="~/Views/Roster/_RosterAgenda.cshtml" model="@Model" />
Я знаю, что удар через шоу будет показан в 2/3 сценариев.
- В представлении - работает
- В представлении, где экспорт должен быть, поскольку у меня есть выход, где я могу передать данные в представление до pdf - работает
- ВPDF - не работает.
Генерация PDF выполняется следующим образом: передается байтовый массив в кодировке base 64, когда информация исходного файла передается из одной системы в API по проводам.
public byte[] ConvertHtmlToPdf(byte[] fileData, string extension, PageSettings.PageOrientation orientation)
{
byte[] convertedData = null;
var base64EncodedBytes = Convert.FromBase64String(Encoding.Default.GetString(fileData));
var html = Encoding.UTF8.GetString(base64EncodedBytes);
HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);
IFormatProvider<RadFlowDocument> provider = this.providers
.FirstOrDefault(p => p.SupportedExtensions
.Any(e => string.Compare(extension, e, StringComparison.InvariantCultureIgnoreCase) == 0));
if (provider == null)
{
Log.Error($"No provider found that supports the extension: {extension}");
return null;
}
var quality = Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ImageQuality.Medium;
PdfFormatProvider formatProvider = new PdfFormatProvider();
formatProvider.ExportSettings.ImageQuality = quality;
if (document.Sections.Any())
{
foreach (var section in document.Sections)
{
//section.PageOrientation = orientation == PageSettings.PageOrientation.Landscape ? PageOrientation.Landscape : PageOrientation.Portrait;
section.Rotate(orientation == PageSettings.PageOrientation.Landscape ? PageOrientation.Landscape : PageOrientation.Portrait);
}
}
using (var stream = new MemoryStream())
{
formatProvider.Export(document, stream);
convertedData = stream.ToArray();
}
return convertedData;
}