Нежелательные рамки вокруг элементов потока документов при использовании Microsoft «Печать в PDF» - PullRequest
0 голосов
/ 24 марта 2020

Я заполняю содержимое документа потока динамически из источника данных. Шаблон (т. Е. Заголовки, заголовки и т. Д. c.) Определен в XAML, и содержимое будет вставлено в элементы-заполнители в коде.

Когда документ печатается на принтере «Microsoft Print to PDF» все элементы с атрибутом «x: Name», установленным в XAML, окружены черной рамкой, хотя я не установил ни один параметр границы и не установил бы границу явно «x: Null», а толщина - «0» - удалил ее. Другие PDF-принтеры (например, PDF24 или даже Microsoft XPS Document Writer) не создавали границ вокруг элементов.

Как избавиться от этой границы, поскольку она действительно нарушает макет печати?

Ниже приведен код для примера minimalisti c.

  • MyFlowDocument.xaml (без логина c в коде позади):
<FlowDocument x:Class="FlowDocumentGenerator.MyFlowDocument"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Paragraph x:Name="_paragraph" BorderBrush="{x:Null}" BorderThickness="0">I have a name and want no frame.</Paragraph>
    <Paragraph>I do not have an name and no frame.</Paragraph>
</FlowDocument>
  • MainWindow.xaml.cs (без разметки в XAML):
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;

namespace FlowDocumentGenerator
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Loaded += MainWindow_Loaded;
        }

        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var dialog = new PrintDialog();
            if (dialog.ShowDialog() ?? false)
            {
                var paginator = ((IDocumentPaginatorSource)new MyFlowDocument()).DocumentPaginator;
                dialog.PrintDocument(paginator, string.Empty);
            }

            Close();
        }
    }
}
...