PDF von einer UIWebView über Airprint generien

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

  • PDF von einer UIWebView über Airprint generien

    Hallo,

    ich stelle in meiner iPad-App Webseiten über UIWebView dar. Nun möchte ich die Webseiten gerne ausdrucken und als Feature auch als PDF speichern können.
    Das ausdrucken funktioniert soweit. Das Generieren des PDFs macht noch Schwierigkeiten.
    Mein erster Gedanke war, das PDF durch den nachstehenden Code (webViewPDF.layer renderInContext:pdfContext) zu generieren:

    Quellcode

    1. UIGraphicsBeginPDFPage();
    2. CGContextBeginPage (pdfContext, &pageRect);
    3. CGContextTranslateCTM(pdfContext, 10.0,pageRect.size.height-10);
    4. CGContextSetRGBFillColor(pdfContext, 1.0,1.0,1.0,1.0);
    5. CGContextFillRect(pdfContext,pageRect);
    6. CGContextSaveGState(pdfContext);
    7. CGContextScaleCTM(pdfContext, 0.8, -0.8);
    8. [[[webViewPDF subviews] lastObject] setContentOffset:CGPointMake(0, 720 * i) animated:NO];
    9. [webViewPDF.layer renderInContext:pdfContext];
    10. CGContextEndPage (pdfContext);
    Alles anzeigen


    Aber das Ergebnis ist mittelprächtig. Es sieht so aus, als ob das System nur ein BIld vom Screen macht und dann im pdfContext speichert. Die Auflösung ist deshalb bescheiden.

    Mein nächster Gedanke ist, dass ja der Print-Simulator ein PDF generiert. Kann man diesen Output abfangen und das PDF anzeigen oder speichern?
    Also, anstatt des Drucker-Menüs, das PDF umleiten und anzeigen lassen?

    Ist das machbar? Kennt jemand den Ansatz? Oder hat das schon mal jemand gemacht? Ist diese Manipulation erlaubt?

    Oder weiß einer , wie man ein PDF aus einer UIWebView generiert?

    Habe mich schon einige Tage damit beschäftigt, komme aber nicht weiter.

    LG Jasmin
  • Die Idee hatte ich auch schon, aber ich hätte nciht gedacht das das geht. Dachte dann würde das Clipping zuschlagen und automatisch nur den Teil darstellen der auf dem Display zu sehen ist. Aber wenn es so geht ist ja super.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)