HTML in PDF konvertieren

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

  • HTML in PDF konvertieren

    Hallo,

    Kann ich irgendwie mit Obj-C eine HTML-Seite (sammt CSS) in ein PDF konvertieren? Ich weiß, dass es über den Druckdialog geht, aber ich möchte einen PDF-Export in meine Software einbauen, welche auf HTML mit CSS basiert.

    lg, Hotzi
    [url]http://www.martinhoeller.net[/url]
  • Ok, danke für den Tipp. Hab jetzt etwas im Netz gesucht und auch einiges dazu gefunden.. Allerdings hab ich ein Problem mit dem Laden von HTML Dateien in das WebView. WebView ist am Hauptfenster und in awakeFromNib: des Controllers habe ich folgenden code:

    Quellcode

    1. WebFrame *frame = [webView mainFrame];
    2. NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"/Users/martin/Desktop/test/test.html"]];
    3. [frame loadRequest:request];


    Mit dem Ergebnis, dass nichts angezeigt wird. Die HTML-Datei existiert, request und frame sind auch nicht nil. Wenn ich die HTML-Datei manuell in das WebView ziehe, wirds angezeigt. Bin etwas ratlos...

    lg,
    Hotzi
    [url]http://www.martinhoeller.net[/url]
  • Quellcode

    1. workImage = [[[NSImage alloc] initWithData:[self createPDFFromHTML:[NSString stringWithFormat:@"file:///%@",_path]
    2. withRect:NSMakeRect (0,0,800,600)]] autorelease];


    Quellcode

    1. -(NSData*)createPDFFromHTML:(NSString*)file withRect:(NSRect)rect{
    2. WebView *webView = [[WebView alloc] initWithFrame: rect];
    3. NSData *pdfData;
    4. [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:
    5. [NSURL URLWithString:[file stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]];
    6. [[[[webView mainFrame] frameView] documentView] setNeedsLayout:YES];
    7. while([[[webView mainFrame] provisionalDataSource] isLoading])
    8. [[NSRunLoop currentRunLoop] limitDateForMode:@"NSDefaultRunLoopMode"];
    9. while([[[webView mainFrame] dataSource] isLoading])
    10. [[NSRunLoop currentRunLoop] limitDateForMode:@"NSDefaultRunLoopMode"];
    11. NSRect vr = [[[[webView mainFrame] frameView] documentView] visibleRect];
    12. pdfData = [NSData dataWithData:[[[[webView mainFrame] frameView] documentView] dataWithPDFInsideRect:vr]];
    13. [webView release];
    14. return pdfData;
    15. }
    Alles anzeigen


    So mache ich das ganze in meinem Projekt.
    Musst für Deine Ansprüche anpassen.
    :wq! /dev/null
  • Ich habe dazu noch eine Frage. Besteht das PDF dann auch aus mehreren (DIN A4) Seiten, oder hat es einfach nur die Form des WebViews?

    EDIT: Scheinbar gibt es nur eine Seite, von der dann auch noch etwas abgeschnitten wird. Gibt es eine möglichkeit, eine Druckvorschau als PDF zu generieren (und zwar ohne, dass der Seitentitel und die URL angezeigt wird (das ist ja in jedem Browser so...)?
    Skeiron
    Der Mac heiligt die Mittel.