Komisches Verhalten der Druckeinstellungen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Komisches Verhalten der Druckeinstellungen

    Hallo zusammen,

    ich habe einen sehr merkwürdigen Fehler den ich mir nicht erklären kann.
    Mein Programm hat die Möglichkeit zu drucken. der normale druckscreen wird dabei nicht angezeigt.
    die beiden Einstellungen zu Drucker und Papier kann der Nutzer vorher festlegen.

    meine druckroutine sieht wie folgt aus:

    Brainfuck-Quellcode

    1. NSPrintInfo *sharedInfo = [NSPrintInfo sharedPrintInfo];
    2. NSMutableDictionary *printInfoDict = [sharedInfo dictionary];
    3. [printInfoDict setObject: NSPrintSpoolJob forKey: NSPrintJobDisposition];
    4. NSNumber *margin = [NSNumber numberWithFloat: 0.0f];
    5. [printInfoDict setObject: margin forKey: NSPrintLeftMargin];
    6. [printInfoDict setObject: margin forKey: NSPrintRightMargin];
    7. [printInfoDict setObject: margin forKey: NSPrintTopMargin];
    8. [printInfoDict setObject: margin forKey: NSPrintBottomMargin];
    9. [printInfoDict setObject: printSetting.paperName forKey: NSPrintPaperName];
    10. [printInfoDict setObject: printSetting.printerName forKey: NSPrintPrinterName];
    11. NSPrintInfo *printInfo;
    12. printInfo = [[[NSPrintInfo alloc] initWithDictionary: printInfoDict] autorelease];
    13. [printInfo setVerticalPagination: NSFitPagination];
    14. [printInfo setHorizontalPagination: NSFitPagination];
    15. NSPrintOperation *printOp;
    16. printOp = [NSPrintOperation printOperationWithView:self.viewWithLayout printInfo:printInfo];
    17. [printOp setShowsPrintPanel:NO];
    18. [printOp runOperation];
    19. NSLog(@"------------- printSetting.paperName -------------\r%@", printSetting.paperName);
    20. NSLog(@"------------- printSetting.printerName -------------\r%@", printSetting.printerName);
    21. NSLog(@"------------- NSPrintInfo Printersettings -------------\r%@",printInfo.dictionary);
    22. NSLog(@"------------- NSPrintOperation Printersettings -------------\r%@",printOp.printInfo.dictionary);
    Alles anzeigen


    die console zeigt folgendes (gekürzt)

    Brainfuck-Quellcode

    1. 2014-01-16 16:03:27.979 [5111:cd27] ------------- printSetting.paperName -------------
    2. iso-a5
    3. 2014-01-16 16:03:27.979 [5111:cd27] ------------- printSetting.printerName -------------
    4. HP LaserJet 1010 WiFi
    5. 2014-01-16 16:03:27.995 [5111:cd27] ------------- NSPrintInfo Printersettings -------------
    6. {
    7. NSPaperName = "iso-a5";
    8. NSPaperSize = "NSSize: {419.51998901367188, 595.28997802734375}";
    9. NSPrinterName = "HP LaserJet 1010 WiFi";
    10. }
    11. 2014-01-16 16:03:27.996 [5111:cd27] ------------- NSPrintOperation Printersettings -------------
    12. {
    13. NSPaperName = "iso-a4";
    14. NSPaperSize = "NSSize: {595, 842}";
    15. NSPrinterName = "HP LaserJet 1010 WiFi";
    16. }
    Alles anzeigen


    der ausschlaggebende Punkt ist der NSPaperName der von NSPrintOperation nicht übernommen wurde.
    ich kann mir das nicht erklären. gibt es dazu Erfahrungen oder sogar Lösungsvorschläge?