Hey Leute,
ich möchte eine PDF von meinem ScrollView erstellen, hier erstmal der code
Alles anzeigen
bzw das erstellen:
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:
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 Vielen Dank schon mal im Vorraus
Yannick
ich möchte eine PDF von meinem ScrollView erstellen, hier erstmal der code
Quellcode
- UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(
- 0,
- 0,
- self.scrollView.contentSize.width,
- self.scrollView.contentSize.height)];
- for(UIView *view in [self.scrollView subviews])
- {
- [contentView addSubview:view];
- }
- [contentView createPDFAndSaveToDocumentsWithFileName:@"test2" andDocumentInfo:nil];
- for(UIView *view in [contentView subviews])
- {
- [view removeFromSuperview];
- [self.scrollView addSubview:view];
- }
bzw das erstellen:
Quellcode
- -(id)createPDFAndSaveToDocumentsWithFileName:(NSString*)aFilename andDocumentInfo:(NSDictionary *)documentInfo
- {
- NSMutableData *pdfData = [NSMutableData data];
- CGSize pageSize = CGSizeMake(self.frame.size.width, 792);
- UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil);
- CGContextRef pdfContext = UIGraphicsGetCurrentContext();
- NSInteger currentPage = 1;
- NSInteger realTimeY = 0;
- NSInteger fakeY = 30;
- BOOL done = NO;
- do {
- UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, 792)];
- UIGraphicsBeginPDFPage();
- [view.layer renderInContext:pdfContext];
- if ((pageSize.height*currentPage) > self.frame.size.height) {
- done = YES;
- } else {
- fakeY = 30;
- currentPage++;
- }
- } while (!done);
- UIGraphicsEndPDFContext();
- if (aFilename == nil) {
- return pdfData;
- } else {
- NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
- NSString* documentDirectory = [documentDirectories objectAtIndex:0];
- NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
- [pdfData writeToFile:documentDirectoryFilename atomically:YES];
- NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
- return nil;
- }
- }
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:
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 Vielen Dank schon mal im Vorraus
Yannick