У меня есть веб-просмотр, правильно отображающий HTML-контент.При загрузке большого количества информации веб-просмотр по-прежнему отображается правильно, но сгенерированный PDF-файл перестает добавлять контент и добавляет только пробел.
Если прокрутить веб-просмотр перед созданием PDF-файла, вторая половина PDF-файла будет включена в документ, а первая часть будет проигнорирована, что приведет к появлению пробела.
view.Measure(
View.MeasureSpec.MakeMeasureSpec( ViewGroup.LayoutParams.WrapContent,MeasureSpecMode.Unspecified),
View.MeasureSpec.MakeMeasureSpec(ViewGroup.LayoutParams.WrapContent, MeasureSpecMode.Unspecified));
view.Layout(0, 0, view.MeasuredWidth, view.MeasuredHeight);
var printAttributesBuilder = new PrintAttributes.Builder();
printAttributesBuilder.SetColorMode(PrintColorMode.Color);
printAttributesBuilder.SetMediaSize(PrintAttributes.MediaSize.IsoA4);
printAttributesBuilder.SetDuplexMode(DuplexMode.None);
printAttributesBuilder.SetMinMargins(PrintAttributes.Margins.NoMargins);
PdfDocument document = new PrintedPdfDocument(view.Context, printAttributesBuilder.Build());
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(view.MeasuredWidth, view.MeasuredHeight, 1).Create();
PdfDocument.Page page = document.StartPage(pageInfo);
view.Draw(page.Canvas);
document.FinishPage(page);
byte[] docBytes = null;
using (MemoryStream memoryStream = new MemoryStream())
{
try
{
document.WriteTo(memoryStream);
docBytes = memoryStream.ToArray();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
return docBytes;
, а также
WebView.EnableSlowWholeDocumentDraw();
Я считаю, что размер PDF правильный, каким-то образом только содержание перестает добавляться.Оставшееся пустое пространство занимает примерно такое же пространство, как и отсутствующее содержимое.Я попытался использовать PrintManager, и он генерирует 30-страничный PDF на основе того же HTML.Но Я не хочу использовать PrintManager или любые другие библиотеки , я должен заставить опубликованное решение работать.
Любые входные данные высоко ценятся!