Печать в приложении WPF с предварительным просмотром PDFC#

Место общения программистов C#
Anonymous
Печать в приложении WPF с предварительным просмотром PDF

Сообщение Anonymous »

Я разрабатываю приложение WPF, в котором мне нужно создать PDF-файл и открыть его в диалоговом окне «Печать» с предварительным просмотром, чтобы пользователь мог либо распечатать, либо загрузить его в формате PDF. Мне не удалось найти много ресурсов, посвященных работе с PDF-файлами, но мне удалось открыть диалоговое окно с документом XPS. Однако предварительный просмотр документа отображается неправильно, как показано на снимке экрана ниже:
[img]https://i.sstatic.net /gYibbFJI.png[/img]

ниже приведен код для открытия диалогового окна печати с помощью xps

Код: Выделить всё

public void PrintXps()
{
FlowDocument doc = new FlowDocument(new Paragraph(new Run("Hello, this is a sample document.")));
doc.PagePadding = new Thickness(50);
doc.PageWidth = 800;
doc.PageHeight = 600;

string tempXpsFilePath = Path.GetTempFileName() + ".xps";

try
{
using (var xpsDocument = new XpsDocument(tempXpsFilePath, FileAccess.ReadWrite))
{
var xpsWriter = XpsDocument.CreateXpsDocumentWriter(xpsDocument);
DocumentPaginator paginator = ((IDocumentPaginatorSource)doc).DocumentPaginator;
xpsWriter.Write(paginator);
}

var xpsDoc = new XpsDocument(tempXpsFilePath, FileAccess.Read);
FixedDocumentSequence fixedDocSeq = xpsDoc.GetFixedDocumentSequence();

PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == true)
{
printDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Printing XPS Document");
}

xpsDoc.Close();
}
finally
{
File.Delete(tempXpsFilePath);
}
}
Подводя итог, моя цель — создать PDF-файл и открыть диалоговое окно печати с предварительным просмотром для него. Есть ли у кого-нибудь представление о том, как я могу этого добиться? Будем очень признательны за любые предложения.
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... df-preview

Вернуться в «C#»