PDF von ScrollView erstellen

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

  • PDF von ScrollView erstellen

    Hey Leute,

    ich möchte eine PDF von meinem ScrollView erstellen, hier erstmal der code

    Quellcode

    1. UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(
    2. 0,
    3. 0,
    4. self.scrollView.contentSize.width,
    5. self.scrollView.contentSize.height)];
    6. for(UIView *view in [self.scrollView subviews])
    7. {
    8. [contentView addSubview:view];
    9. }
    10. [contentView createPDFAndSaveToDocumentsWithFileName:@"test2" andDocumentInfo:nil];
    11. for(UIView *view in [contentView subviews])
    12. {
    13. [view removeFromSuperview];
    14. [self.scrollView addSubview:view];
    15. }
    Alles anzeigen


    bzw das erstellen:

    Quellcode

    1. -(id)createPDFAndSaveToDocumentsWithFileName:(NSString*)aFilename andDocumentInfo:(NSDictionary *)documentInfo
    2. {
    3. NSMutableData *pdfData = [NSMutableData data];
    4. CGSize pageSize = CGSizeMake(self.frame.size.width, 792);
    5. UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil);
    6. CGContextRef pdfContext = UIGraphicsGetCurrentContext();
    7. NSInteger currentPage = 1;
    8. NSInteger realTimeY = 0;
    9. NSInteger fakeY = 30;
    10. BOOL done = NO;
    11. do {
    12. UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, 792)];
    13. UIGraphicsBeginPDFPage();
    14. [view.layer renderInContext:pdfContext];
    15. if ((pageSize.height*currentPage) > self.frame.size.height) {
    16. done = YES;
    17. } else {
    18. fakeY = 30;
    19. currentPage++;
    20. }
    21. } while (!done);
    22. UIGraphicsEndPDFContext();
    23. if (aFilename == nil) {
    24. return pdfData;
    25. } else {
    26. NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
    27. NSString* documentDirectory = [documentDirectories objectAtIndex:0];
    28. NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
    29. [pdfData writeToFile:documentDirectoryFilename atomically:YES];
    30. NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
    31. return nil;
    32. }
    33. }
    Alles anzeigen


    Im momment wird zwar eine PDF erstellt und sie enthält auch so viel Seiten, wie sie benötigen würde aber es wird nur die erste Seite beschrifftet. Mir ist zwar bewusst, dass die Betroffene Stelle diese hier sein müsste:

    Quellcode

    1. [view.layer renderInContext:pdfContext];

    Aber ich weiß nicht, wie ich es so Programmiert bekomm, dass auf der 2. Seite am anfang der Seite mit dem Restlichen Text weiter gemacht wird.

    Ich hoffe ich hab mich soweit klar genug Ausgedrückt :D Vielen Dank schon mal im Vorraus
    Yannick
  • Mac & i Test Abo