在ios中生成PDF文件[重复]

Posted

技术标签:

【中文标题】在ios中生成PDF文件[重复]【英文标题】:Generate PDF file in ios [duplicate] 【发布时间】:2013-11-26 23:57:35 【问题描述】:

您好,在我的应用程序中,我必须生成 PDF 文件。该 pdf 文件可能包括图像、描述、数字、边框线和页码。谁能告诉我如何在 ios 中生成 pdf 文件。

【问题讨论】:

参考此链接***.com/questions/4362734/… 这个我发现可能已经知道你有没有可用的实例代码。 【参考方案1】:

创建您的自定义视图以添加图像、表格视图或任何内容。将 pdf 转换器指向可变数据对象和要转换为 pdf 的 UIView。

试试这个:

NSMutableData *pdfData = [NSMutableData data];
    UIGraphicsBeginPDFContextToData(pdfData,self.bounds, nil);
    UIGraphicsBeginPDFPage();

    CGContextRef pdfContext = UIGraphicsGetCurrentContext();

    // draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
    [self.layer renderInContext:pdfContext];

    // remove PDF rendering context
    UIGraphicsEndPDFContext();

    // Retrieves the document directories from the iOS device
    NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);

    NSString* documentDirectory = [documentDirectories objectAtIndex:0];
    NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:@"ess.pdf"];

    // instructs the mutable data object to write its context to a file on disk
    [pdfData writeToFile:documentDirectoryFilename atomically:YES];

【讨论】:

嗨谢谢我试过了。但是在这里我有一个疑问,在这种情况下 If (stringSize.height >= renderingRect.size.height) 我们如何将文本分成两页?请您分享此代码。 pageSize = CGSizeMake(612, 792);改变和尝试知道 您好,感谢您的回复。实际上,我在将文本分成两页时遇到了一个问题。我不知道如何将文本分成两页。我通过获取文本大小和底线位置来设置底线。我附上了屏幕截图,请检查一下并告诉我解决方案。 你好 ios 开发者请检查附件并帮助我解决我的问题。 @iOSDeveloper 链接失效请更新...

以上是关于在ios中生成PDF文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

未在 laravel 中生成 PDF

尝试在 Java 中生成非常大的 PDF 文件时出现 ***Error

在 NativeScript 应用程序中生成和显示 PDF

将flutter web中生成的pdf上传到S3

如何在 node.js 中生成 PDF

Pentaho 不在 UTF-8 编码中生成 PDF