Hello,
Thank you for your good control and service.
As I know RichTextBox still doesn`t support export to Pdf with Track Changes
By this reason I try to use RichTextBox.Print() function to export content with Track Changes to pdf ("Microsoft Print to Pdf" or any analog)
The problem is just I can`t set exact filename path or at least propose recommended file name to user, before print. Here is my code, which is like your RichTextBox/CustomizingPrint from GitHub:
(Editor is my RichTextBox)
private
void
Print_Click(
object
sender, RoutedEventArgs e)
{
RadDocument document = Editor.Document;
PrintSettings settings =
new
PrintSettings()
{
DocumentName =
"Output_20200625.pdf"
,
// Nope, I need Path to save
PrintMode = PrintMode.Native,
PrintScaling = PrintScaling.None,
UseDefaultPrinter =
true
};
if
(document !=
null
)
{
PrintDialog printDialog =
new
PrintDialog();
PrintQueue printQueue = FindPrintQueueByName(
"pdf"
);
if
(printQueue ==
null
)
{
printQueue = printDialog.PrintQueue;
}
int
pagesCount = document.FirstLayoutBox.Children.Count;
printQueue.DefaultPrintTicket.PageMediaSize =
new
PageMediaSize(PageMediaSizeName.ISODLEnvelope);
printDialog.PrintQueue = printQueue;
printDialog.MinPage = 1;
printDialog.MaxPage = (
uint
)pagesCount;
//DocumentPrintPresenter documentPrintPresenter = new DocumentPrintPresenter(settings); // RadDocument Print Document?
Editor.Print(printDialog, settings);
}
}
private
PrintQueue FindPrintQueueByName(
string
name)
{
PrintServer server =
new
PrintServer();
foreach
(PrintQueue queue
in
server.GetPrintQueues(
new
EnumeratedPrintQueueTypes[] { EnumeratedPrintQueueTypes.Connections, EnumeratedPrintQueueTypes.Local }))
{
if
(queue.Name.ToLowerInvariant().Contains(name))
{
return
queue;
}
}
return
null
;
}
Is any idea how can I make it, or any alternate method? May be Xps, then Pdf?
Thank you!