コード例 #1
0
        public void SendToPrinter()
        {
            //  Clone the patient card
            var flowDocumentScrollViewer = IndividualPatientCardContainer.FindChild <FlowDocumentScrollViewer>();
            var flowDocument             = flowDocumentScrollViewer.Document;
            var documentClone            = CloneXamlControl(flowDocument);

            //  Get the document paginator
            //  Display the print dialog and print if confirmed
            var dialog = new PrintDialog();

            if (dialog.ShowDialog() == true)
            {
                documentClone.PageHeight  = dialog.PrintableAreaHeight - 96;
                documentClone.PageWidth   = dialog.PrintableAreaWidth - 96;
                documentClone.PagePadding = new Thickness(0);

                documentClone.ColumnGap   = 0;
                documentClone.ColumnWidth = dialog.PrintableAreaWidth;

                var paginator = ((IDocumentPaginatorSource)documentClone).DocumentPaginator;

                // Wrap with fixed page size paginator: 8 inch x 6 inch, with half inch margin
                paginator = new DocumentPaginatorWrapper(paginator, new Size(dialog.PrintableAreaWidth, dialog.PrintableAreaHeight), new Size(48, 48));

                dialog.PrintDocument(paginator, "Patient card");
            }
        }
コード例 #2
0
        /// <summary>
        /// Creates a DocumentPaginatorWrapper from TextEditor text to print.
        /// </summary>
        public static DocumentPaginatorWrapper CreateDocumentPaginatorToPrint(TextEditor textEditor, PageSettings pageSettings, PrintTicket printTicket, string title)
        {
            // this baby adds headers and footers
            IDocumentPaginatorSource dps = CreateFlowDocumentToPrint(textEditor, pageSettings, printTicket);
            DocumentPaginatorWrapper dpw = new DocumentPaginatorWrapper(dps.DocumentPaginator, pageSettings, printTicket, textEditor.FontFamily);

            dpw.Title = title;

            return(dpw);
        }
コード例 #3
0
        /// <summary>
        /// Creates a DocumentPaginatorWrapper from TextEditor text to print.
        /// </summary>
        static DocumentPaginatorWrapper CreateDocumentPaginatorToPrint(TextEditor textEditor, bool withHighlighting)
        {
            PrintSettings settings = textEditor.Tag as PrintSettings;

            if (settings == null)
            {
                settings       = new PrintSettings();
                textEditor.Tag = settings;
            }

            // this baby adds headers and footers
            IDocumentPaginatorSource dps = CreateFlowDocumentToPrint(textEditor, withHighlighting);
            DocumentPaginatorWrapper dpw = new DocumentPaginatorWrapper(dps.DocumentPaginator, settings.PageSettings, settings.PrintTicket, textEditor.FontFamily);

            dpw.Title = settings.DocumentTitle;
            return(dpw);
        }
コード例 #4
0
        /// <summary>
        /// Loads the specified DocumentPaginatorWrapper document for print preview.
        /// </summary>
        public void LoadDocument(DocumentPaginatorWrapper document)
        {
            m_Document = document;
            string temp = System.IO.Path.GetTempFileName();

            if (File.Exists(temp) == true)
            {
                File.Delete(temp);
            }

            XpsDocument       xpsDoc    = new XpsDocument(temp, FileAccess.ReadWrite);
            XpsDocumentWriter xpsWriter = XpsDocument.CreateXpsDocumentWriter(xpsDoc);

            xpsWriter.Write(document);
            documentViewer.Document = xpsDoc.GetFixedDocumentSequence();
            xpsDoc.Close();
        }
コード例 #5
0
        public int SaveAsXps(string fileName)

        {
            using (var container = Package.Open(fileName + ".xps",
                                                FileMode.Create))

                using (var xpsDoc = new XpsDocument(container, CompressionOption.Maximum))

                {
                    var rsm = new XpsSerializationManager(new XpsPackagingPolicy(xpsDoc), false);

                    var documentClone = CloneXamlControl(IndividualCard);

                    var paginator = ((IDocumentPaginatorSource)documentClone).DocumentPaginator;

                    // 8 inch x 6 inch, with half inch margin

                    paginator = new DocumentPaginatorWrapper(paginator, new Size(768, 676), new Size(48, 48));

                    rsm.SaveAsXaml(paginator);
                }
            return(0);
        }
コード例 #6
0
ファイル: Printing.cs プロジェクト: joazlazer/ModdingStudio
        /// <summary>
        /// Creates a DocumentPaginatorWrapper from TextEditor text to print.
        /// </summary>
        static DocumentPaginatorWrapper CreateDocumentPaginatorToPrint(TextEditor textEditor)
        {
            // this baby adds headers and footers
              IDocumentPaginatorSource dps = CreateFlowDocumentToPrint(textEditor);

              DocumentPaginatorWrapper dpw = new DocumentPaginatorWrapper(dps.DocumentPaginator, mPageSettings, mPrintTicket, textEditor.FontFamily);

              dpw.Title = mDocumentTitle;

              return dpw;
        }