Hej
Mam problem z robieniem wydruku.
Chcę wykonać etykietę w formie PDF, o rozmiarze 8 na 40cm.
O ile samo drukowanie nie stanowi żadnego problemu dla mnie, to problem jest wybór wielkości papieru.
Mam taki kod programu:
public static class TestPrint
{
public static void Print() {
var prtdoc = new System.Drawing.Printing.PrintDocument();
//Wybór drukarki PDF
foreach (String strPrinter in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
if (strPrinter.Contains("PDF"))
{
prtdoc.PrinterSettings.PrinterName = strPrinter;
Console.WriteLine(strPrinter);
}
}
//Stworzenie własnego papieru
prtdoc.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 80, 400);
Console.WriteLine(prtdoc.DefaultPageSettings.PaperSize.ToString());
prtdoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintTextFileHandler);
//Drukowanie
prtdoc.Print();
}
private static void PrintTextFileHandler(object sender, System.Drawing.Printing.PrintPageEventArgs ppeArgs)
{
var g = ppeArgs.Graphics;
g.DrawString("Tekst. Jakiś tekst.",
new System.Drawing.Font("Verdana", 10),
System.Drawing.Brushes.Black,
10, 10,
new System.Drawing.StringFormat());
ppeArgs.HasMorePages = false;
}
}
Platforma .NET 6.0
Zawsze jest papier A4. Jako drukarkę system widzi "Microsoft Print to PDF".
Próbowałem na różne sposoby, niestety, zawsze jest kartka A4.
Czy miał ktoś podobny problem i może mi z tym pomóc?