Печать абзаца WPF отображает границу, когда отображается без рамки - PullRequest
0 голосов
/ 14 декабря 2018

У меня проблема при попытке распечатать FlowDocument с абзацами.Когда я отображаю FlowDocument в окне, абзацы отображаются правильно без рамки.

FlowDocument - No border

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

enter image description here

Как удалить эти границы из документа при печати?

Этот код я использую для печатиFlowDocument:

LocalPrintServer localPrintServer = new LocalPrintServer();
PrintQueue printQueue = localPrintServer.DefaultPrintQueue;

// Create a XpsDocumentWriter object, open a Windows common print dialog.
// This methods returns a ref parameter that represents information about the dimensions of the printer media.
XpsDocumentWriter docWriter = PrintQueue.CreateXpsDocumentWriter(printQueue);
PageImageableArea ia = printQueue.GetPrintCapabilities().PageImageableArea;
PrintTicket pt = printQueue.UserPrintTicket;

if (docWriter != null && ia != null)
{
    DocumentPaginator paginator = ((IDocumentPaginatorSource)flowDoc).DocumentPaginator;
    // Change the PageSize and PagePadding for the document to match the CanvasSize for the printer device.
    paginator.PageSize = new Size((double)ia.ExtentWidth, (double)ia.ExtentHeight);
    Thickness pagePadding = flowDoc.PagePadding;
    flowDoc.PagePadding = new Thickness(
    Math.Max(ia.OriginWidth, pagePadding.Left),
    Math.Max(ia.OriginHeight, pagePadding.Top),
    Math.Max((double)pt.PageMediaSize.Width - (double)(ia.OriginWidth + ia.ExtentWidth), pagePadding.Right),
    Math.Max((double)pt.PageMediaSize.Height - (double)(ia.OriginHeight + ia.ExtentHeight), pagePadding.Bottom));
    flowDoc.ColumnWidth = double.PositiveInfinity;
    // Send DocumentPaginator to the printer.
    docWriter.Write(paginator);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...