Esempio n. 1
0
        //Button Action testseite drucken
        public IActionResult TestPrinter(string PrinterName)
        {
            if (ModelState.IsValid)
            {
                string folderPath = @"C:\Users\BenOmran\Desktop\savepdf";
                PrinterList = GetAllItems().ToList();

                var printer = PrinterList.Single(d => d.DeviceName == PrinterName);

                if (printer.DeviceType == "Printer" && printer.DeviceSubtype == "A4")
                {
                    FileStream        PdfA4            = new FileStream("Test-A4.pdf", FileMode.Open, FileAccess.Read);
                    PdfLoadedDocument loadedDocumentA4 = new PdfLoadedDocument(PdfA4);
                    MemoryStream      stream           = new MemoryStream();
                    loadedDocumentA4.Save(stream);
                    PdfViewer pdfViewer = new PdfViewer();

                    var myUniqueFileName = $@"Test-A4_{Guid.NewGuid()}.pdf";
                    using (var file = new FileStream(Path.Combine(folderPath, myUniqueFileName), FileMode.Create, FileAccess.Write))
                    {
                        stream.WriteTo(file);
                        pdfViewer.BindPdf(PdfA4);
                        pdfViewer.PrintDocument();
                        AddQ(PrinterName, file.Name);
                    }
                }
                else if (printer.DeviceType == "Printer" && printer.DeviceSubtype == "Label")
                {
                    FileStream        PdfLabel            = new FileStream("Test-Label-3,9x7,9-inch.pdf", FileMode.Open, FileAccess.Read);
                    PdfLoadedDocument loadedDocumentLabel = new PdfLoadedDocument(PdfLabel);
                    MemoryStream      stream = new MemoryStream();
                    loadedDocumentLabel.Save(stream);
                    PdfViewer pdfViewer = new PdfViewer();

                    var myUniqueFileName = $@"Test-Label-3,9x7,9-inch_{Guid.NewGuid()}.pdf";
                    using (var file = new FileStream(Path.Combine(folderPath, myUniqueFileName), FileMode.Create, FileAccess.Write))
                    {
                        stream.WriteTo(file);
                        pdfViewer.BindPdf(PdfLabel);
                        pdfViewer.PrintDocument();
                        AddQ(PrinterName, file.Name);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }