Я испытываю IText7 HtmlConverter для C#, и у меня возникли небольшие проблемы с получением правильной визуализации входных данных bootstrap. Вместо того, чтобы визуализировать ввод с помощью встроенного prepend / append, он выводит их на отдельные строки. Вот код, который я использую
Сначала я получаю html с сайта
public static string GetHtml() {
WebRequest request = WebRequest.Create("https://getbootstrap.com/docs/4.4/components/input-group/");
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
Затем я проталкиваю его через измененную версию демо html в адаптивный конвертер html от itext, найденный здесь: https://itextpdf.com/en/resources/examples/itext-7/pdfhtml-responsive-design
public static void TestOne() {
string html = Helpers.GetHtml();
using (FileStream pdfDest = File.Open($"{Helpers.dataDir}\\IText-output.pdf", FileMode.OpenOrCreate))
{
PdfWriter writer = new PdfWriter(pdfDest);
PdfDocument pdfDoc = new PdfDocument(writer);
// Set the result to be tagged
pdfDoc.SetTagged();
pdfDoc.SetDefaultPageSize(PageSize.A4);
// Set media device description details
MediaDeviceDescription mediaDescription = new MediaDeviceDescription(MediaType.SCREEN);
mediaDescription.SetWidth(CssUtils.ParseAbsoluteLength(PageSize.A4.GetWidth().ToString()));
ConverterProperties converterProperties = new ConverterProperties();
converterProperties.SetMediaDeviceDescription(mediaDescription);
converterProperties.SetBaseUri("https://getbootstrap.com/");
HtmlConverter.ConvertToPdf(html, pdfDoc, converterProperties);
}
}
Это рендеринг PDF, но входные данные рендерится так
пока они отображаются так в браузере
Я использую это неправильно?