Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Papierformate mit Beschreibung.

  Alt 10. Nov 2010, 09:51
Einzig was man beim erstellen einer Default-Liste machen kann, ist z.B. XPS Document Printer nehmen (der alle Formate kennt), auslesen und als Array speichern. Dann spart man sich Handarbeit.

Die Formatnamen und Größen kommen wohl leider immer vom Druckertreiber (sind z.T. auch je nach gewähltem Drucker unterschiedlich):

Delphi-Quellcode:
unit UPaperSizes;

interface

type
  TPaperSize = record
    Name : String;
    Width,
    Height : Integer; // 1/100 inch
  end;

const
  PaperSizes : array[0..105] of TPaperSize =
  (
    (Name : 'Letter'; Width : 850; Height : 1100),
    (Name : 'Letter klein'; Width : 850; Height : 1100),
    (Name : 'Tabloid'; Width : 1100; Height : 1700),
    (Name : 'Ledger'; Width : 1700; Height : 1100),
    (Name : 'Legal'; Width : 850; Height : 1400),
    (Name : 'Statement'; Width : 550; Height : 850),
    (Name : 'Executive'; Width : 725; Height : 1050),
    (Name : 'A3'; Width : 1169; Height : 1654),
    (Name : 'A4'; Width : 827; Height : 1169),
    (Name : 'A4 Klein'; Width : 827; Height : 1169),
    (Name : 'A5'; Width : 583; Height : 827),
    (Name : 'B4 (JIS)'; Width : 1012; Height : 1433),
    (Name : 'B5 (JIS)'; Width : 717; Height : 1012),
    (Name : 'Folie'; Width : 850; Height : 1300),
    (Name : 'Quarto'; Width : 846; Height : 1083),
    (Name : '10x14'; Width : 1000; Height : 1400),
    (Name : '11x17'; Width : 1100; Height : 1700),
    (Name : 'Notiz'; Width : 850; Height : 1100),
    (Name : 'Umschlag 9'; Width : 387; Height : 887),
    (Name : 'Umschlag 10'; Width : 412; Height : 950),
    (Name : 'Umschlag 11'; Width : 450; Height : 1037),
    (Name : 'Umschlag 12'; Width : 475; Height : 1100),
    (Name : 'Umschlag 14'; Width : 500; Height : 1150),
    (Name : 'C Blattgröße'; Width : 1700; Height : 2200),
    (Name : 'D Blattgröße'; Width : 2200; Height : 3400),
    (Name : 'E Blattgröße'; Width : 3400; Height : 4400),
    (Name : 'Umschlag DL'; Width : 433; Height : 866),
    (Name : 'Umschlag C5'; Width : 638; Height : 902),
    (Name : 'Umschlag C3'; Width : 1276; Height : 1803),
    (Name : 'Umschlag C4'; Width : 902; Height : 1276),
    (Name : 'Umschlag C6'; Width : 449; Height : 638),
    (Name : 'Umschlag C65'; Width : 449; Height : 902),
    (Name : 'Umschlag B4'; Width : 984; Height : 1390),
    (Name : 'Umschlag B5'; Width : 693; Height : 984),
    (Name : 'Umschlag B6'; Width : 693; Height : 492),
    (Name : 'Umschlag'; Width : 433; Height : 906),
    (Name : 'Umschlag Monarch'; Width : 387; Height : 750),
    (Name : '6 3/4 Umschlag'; Width : 362; Height : 650),
    (Name : 'US Standardendlospapier'; Width : 1487; Height : 1100),
    (Name : 'German Std Endlospapier'; Width : 850; Height : 1200),
    (Name : 'German Legal Endlospapier'; Width : 850; Height : 1300),
    (Name : 'B4 (ISO)'; Width : 984; Height : 1390),
    (Name : 'Japanische Postkarte'; Width : 394; Height : 583),
    (Name : '9x11'; Width : 900; Height : 1100),
    (Name : '10x11'; Width : 1000; Height : 1100),
    (Name : '15x11'; Width : 1500; Height : 1100),
    (Name : 'Umschlag Invite'; Width : 866; Height : 866),
    (Name : 'Letter Extra'; Width : 950; Height : 1200),
    (Name : 'Legal Extra'; Width : 950; Height : 1500),
    (Name : 'A4 Extra'; Width : 927; Height : 1269),
    (Name : 'Letter Quer'; Width : 850; Height : 1100),
    (Name : 'A4 Quer'; Width : 827; Height : 1169),
    (Name : 'Letter Extra Quer'; Width : 950; Height : 1200),
    (Name : 'Super A'; Width : 894; Height : 1402),
    (Name : 'Super B'; Width : 1201; Height : 1917),
    (Name : 'Letter Plus'; Width : 850; Height : 1269),
    (Name : 'A4 Plus'; Width : 827; Height : 1299),
    (Name : 'A5 Quer'; Width : 583; Height : 827),
    (Name : 'B5 (JIS) Quer'; Width : 717; Height : 1012),
    (Name : 'A3 Extra'; Width : 1268; Height : 1752),
    (Name : 'A5 Extra'; Width : 685; Height : 925),
    (Name : 'B5 (ISO) Extra'; Width : 791; Height : 1087),
    (Name : 'A2'; Width : 1654; Height : 2339),
    (Name : 'A3 Quer'; Width : 1169; Height : 1654),
    (Name : 'A3 Extra Quer'; Width : 1268; Height : 1752),
    (Name : 'Japanische Doppelpostkarte'; Width : 787; Height : 583),
    (Name : 'A6'; Width : 413; Height : 583),
    (Name : 'Japanischer Umschlag Kaku 2'; Width : 945; Height : 1307),
    (Name : 'Japanischer Umschlag Kaku 3'; Width : 850; Height : 1091),
    (Name : 'Japanischer Umschlag Chou 3'; Width : 472; Height : 925),
    (Name : 'Japanischer Umschlag Chou 4'; Width : 354; Height : 807),
    (Name : 'Letter gedreht'; Width : 1100; Height : 850),
    (Name : 'A3 gedreht'; Width : 1654; Height : 1169),
    (Name : 'A4 gedreht'; Width : 1169; Height : 827),
    (Name : 'A5 gedreht'; Width : 827; Height : 583),
    (Name : 'B4 (JIS) gedreht'; Width : 1433; Height : 1012),
    (Name : 'B5 (JIS) gedreht'; Width : 1012; Height : 717),
    (Name : 'Japanische Postkarte gedreht'; Width : 583; Height : 394),
    (Name : 'Jap. Doppelpostkarte gedreht'; Width : 583; Height : 787),
    (Name : 'A6 gedreht'; Width : 583; Height : 413),
    (Name : 'Jap. Umschlag Kaku 2 gedreht'; Width : 1307; Height : 945),
    (Name : 'Jap. Umschlag Kaku 3 gedreht'; Width : 1091; Height : 850),
    (Name : 'Jap. Umschlag Chou 3 gedreht'; Width : 925; Height : 472),
    (Name : 'Jap. Umschlag Chou 4 gedreht'; Width : 807; Height : 354),
    (Name : 'B6 (JIS)'; Width : 504; Height : 717),
    (Name : 'B6 (JIS) gedreht'; Width : 717; Height : 504),
    (Name : '12x11'; Width : 1200; Height : 1100),
    (Name : 'Japanischer Umschlag You 4'; Width : 413; Height : 925),
    (Name : 'Jap. Umschlag You 4 gedreht'; Width : 925; Height : 413),
    (Name : 'PRC Umschlag 1'; Width : 402; Height : 650),
    (Name : 'PRC Umschlag 3'; Width : 492; Height : 693),
    (Name : 'PRC Umschlag 4'; Width : 433; Height : 819),
    (Name : 'PRC Umschlag 5'; Width : 433; Height : 866),
    (Name : 'PRC Umschlag 6'; Width : 472; Height : 906),
    (Name : 'PRC Umschlag 7'; Width : 630; Height : 906),
    (Name : 'PRC Umschlag 8'; Width : 472; Height : 1217),
    (Name : 'PRC Umschlag 9'; Width : 902; Height : 1276),
    (Name : 'PRC Umschlag 10'; Width : 1276; Height : 1803),
    (Name : 'PRC Umschlag 1 gedreht'; Width : 650; Height : 402),
    (Name : 'PRC Umschlag 3 gedreht'; Width : 693; Height : 492),
    (Name : 'PRC Umschlag 4 gedreht'; Width : 819; Height : 433),
    (Name : 'PRC Umschlag 5 gedreht'; Width : 866; Height : 433),
    (Name : 'PRC Umschlag 6 gedreht'; Width : 906; Height : 472),
    (Name : 'PRC Umschlag 7 gedreht'; Width : 906; Height : 630),
    (Name : 'PRC Umschlag 8 gedreht'; Width : 1217; Height : 472),
    (Name : 'PRC Umschlag 9 gedreht'; Width : 1276; Height : 902)
  );

implementation

end.
Wer es sich die Liste selber von einem anderen Drucker erstellen will oder etwas im Format anpassen:
Code:
void Button1Click(object sender, EventArgs e)
      {
         PrintDocument pDoc = new PrintDocument();
         PrintDialog pDlg = new PrintDialog();
         pDlg.Document = pDoc;
         
         if (pDlg.ShowDialog() == DialogResult.OK)
         {
            textBox1.AppendText(
               string.Format("PaperSizes : array[0..{0}] of TPaperSize =\r\n(\r\n",
                             pDlg.PrinterSettings.PaperSizes.Count -1));

            
            foreach (PaperSize ps in pDoc.PrinterSettings.PaperSizes)
            {
               textBox1.AppendText(
                  string.Format(" (Name : '{0}'; Width : {1}; Height : {2}),\r\n",
                                ps.PaperName, ps.Width, ps.Height));
            }
            textBox1.AppendText(");");
         }
      }

Geändert von Satty67 (10. Nov 2010 um 12:10 Uhr)
  Mit Zitat antworten Zitat