Hallöchen,
ich suche eine Möglichkeit eine PDF zu drucken die ich von einer Schnittstelle als byte array zurück bekomme (naja als Base64 Encodiert).
Base64 in das Byte Array zu wandeln ist kein Problem das klappt. Ich kann das ganz auch als File speichern und öffnen alles kein Problem.
Nun möchte ich aber gerne das ganze automatisiert drucken. Hintergrund ist der das dass ganze angefordert wird bei der API ich das zurück bekomme
und dann wird das ganz auf dem eingestellten Drucke gedruckt.
Habt ihr eine Möglichkeit wie ich das hinbekomme mit dem drucken? Ein Bild / Image zu drucken ist ja ganz easy aber PDF da stoße ich an meine Grenzen.
Wenn ich Bilder drucke mache ich das immer so:
Das klappt aber natürlich nicht mit PDF´s. Wäre für jede Hilfe dankbar.
ich suche eine Möglichkeit eine PDF zu drucken die ich von einer Schnittstelle als byte array zurück bekomme (naja als Base64 Encodiert).
Base64 in das Byte Array zu wandeln ist kein Problem das klappt. Ich kann das ganz auch als File speichern und öffnen alles kein Problem.
Nun möchte ich aber gerne das ganze automatisiert drucken. Hintergrund ist der das dass ganze angefordert wird bei der API ich das zurück bekomme
und dann wird das ganz auf dem eingestellten Drucke gedruckt.
Habt ihr eine Möglichkeit wie ich das hinbekomme mit dem drucken? Ein Bild / Image zu drucken ist ja ganz easy aber PDF da stoße ich an meine Grenzen.
Wenn ich Bilder drucke mache ich das immer so:
C#-Quellcode
- public void printLabel(byte[] label, string fileName)
- {
- PrintDocument pd = new PrintDocument();
- bool printToFile = true; //zum testen
- pd.PrinterSettings.PrinterName = printerName; //hier steht der Microsoft print to pdf drucker drin
- PaperSize ps = new PaperSize();
- pd.DefaultPageSettings.Landscape = true;
- if (printToFile)
- {
- pd.PrinterSettings.PrintToFile = true;
- pd.PrinterSettings.PrintFileName = Path.Combine(Environment.CurrentDirectory, $"{fileName}_{DateTimeOffset.Now.ToUnixTimeSeconds().ToString()}.pdf");
- }
- pd.PrintPage += (sender, args) =>
- {
- using (var ms = new MemoryStream(label))
- {
- args.Graphics.DrawImage(System.Drawing.Image.FromStream(ms), args.PageBounds);
- }
- };
- pd.Print();
- }
Das klappt aber natürlich nicht mit PDF´s. Wäre für jede Hilfe dankbar.