Как к Предварительному просмотру при использовании DocumentPaginator для печати?

В рельсах есть один драгоценный камень для флеш-сообщений о вызовах ajax. 114]

<%= custom_bootstrap_flash %>

И в вашем action.js.erb покажите тостовое сообщение, используя тостер

toastr.success('Success.')
toastr.error('error')

Я надеюсь, это то, что вы ищете.

14
задан Hakan Fıstık 10 September 2015 в 17:02
поделиться

4 ответа

Таким образом, я получил его работающий после чтения Pro WPF в 2008 C# (Страница 726).

В основном классу DocumentViewer нужен файл XPS для представления предварительного просмотра его. Таким образом, я делаю следующее:

PrintDialog dialog = new PrintDialog();
var paginator = new RowPaginator(rowsToPrint) { PageSize = new Size(dialog.PrintableAreaWidth, dialog.PrintableAreaHeight) };

string tempFileName = System.IO.Path.GetTempFileName();

//GetTempFileName creates a file, the XpsDocument throws an exception if the file already
//exists, so delete it. Possible race condition if someone else calls GetTempFileName
File.Delete(tempFileName); 
using (XpsDocument xpsDocument = new XpsDocument(tempFileName, FileAccess.ReadWrite))
{
    XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument);
    writer.Write(paginator);

    PrintPreview previewWindow = new PrintPreview
                                     {
                                         Owner = this,
                                         Document = xpsDocument.GetFixedDocumentSequence()
                                     };
    previewWindow.ShowDialog();
}

Я создаю диалоговое окно печати для получения размера страницы по умолчанию. Существует, вероятно, лучший способ сделать это. XpsDocument находится в ReachFramework.dll (Система Пространства имен. Windows. Xps. Упаковка);

Вот окно PrintPreview.

<Window x:Class="WPFPrintTest.PrintPreview"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Name="previewWindow"
    Title="PrintPreview" Height="800" Width="800">
    <Grid>
        <DocumentViewer Name="viewer" 
                        Document="{Binding ElementName=previewWindow, Path=Document}" />
    </Grid>
</Window>

Код позади просто имеет свойство Document как так:

public IDocumentPaginatorSource Document
{
    get { return viewer.Document; }
    set { viewer.Document = value; }
}
18
ответ дан 1 December 2019 в 09:34
поделиться

WPF не идет ни с какой встроенной функциональностью Предварительного просмотра, если Вы хотите сделать предварительный просмотр, Вы оказываетесь перед необходимостью создавать его сами. К счастью, это, не должно быть настолько трудным.

Вы уже получили код разбиения на страницы, который создает Ваш DocumentPage объекты. Эти объекты содержат a Visual, который можно идти вперед и отобразить в UI.

То, что Вы закончите тем, что делали, нумерует страницы Ваш весь документ, собираясь весь DocumentPage объекты, затем отображая их зрительный ряд в прокрутке StackPanel или что-то подобное. Это то же DocumentPage объекты, которые можно затем отправить на принтер.

3
ответ дан 1 December 2019 в 09:34
поделиться

Я не думаю, что существует созданный способом сделать это

Вот то, как я получил его работающий в NHaml

var documentViewHostDialog = new DocumentDialog();
documentViewHostDialog.LoadDocument(load);
documentViewHostDialog.ShowDialog();

Где "загрузка" является или FlowDocument или IDocumentPaginatorSource и здесь является http://code.google.com/p/nhaml/source/browse/trunk/src/NHaml.Xps/DocumentDialog.xamlDocumentDialog http://code.google.com/p/nhaml/source/browse/trunk/src/NHaml.Xps/DocumentDialog.xaml.cs

Надеюсь, что это работает на Ваш случай.

0
ответ дан 1 December 2019 в 09:34
поделиться

Код WinForm для предварительного просмотра:

PrintPreviewDialog PrintPreviewDialog = new PrintPreviewDialog();
PrintPreviewDialog.Document = PrintDocument;
PrintPreviewDialog.ShowDialog();

P.s.: Исходный плакат прокомментировал, что это - неправильный ответ для приложения WPF.

1
ответ дан 1 December 2019 в 09:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: