gpt4 book ai didi

iOS - 如何覆盖单页 PDF 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:19:14 24 4
gpt4 key购买 nike

我想覆盖现有的 PDF 文件,而不是创建一个新文件。我不想绘制整个 PDF 文件,但如果 PDF 文件中有一百页,我只想绘制一页。

其实,我想在一页PDF文件中放置一些图片。如果用户点击保存按钮,它将被覆盖。这不可能吗?有框架或者sdk吗?

感谢您的任何回复。

最佳答案

支持 iPhone 中的 PDF 操作。苹果的文档如下http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html

-(void)createPDFFileFromSelectedPageNumber:(int)selectedPageNumber:(NSString*)fileName{
NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [arrayPaths objectAtIndex:0];

NSString *outpath = [[NSString alloc]initWithFormat:@"%@/output.pdf",path];

UIGraphicsBeginPDFContextToFile(outpath, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);

NSURL *url = [[NSURL alloc] initFileURLWithPath:fileName];

CGPDFDocumentRef originalPDF = CGPDFDocumentCreateWithURL((__bridge CFURLRef)url);

CGPDFPageRef pdfPage = CGPDFDocumentGetPage(originalPDF, selectedPageNumber);

CGSize size = CGSizeMake(612.0, 792.0);
CGRect outRect = CGRectMake(0, 0, 612.0, 792.0);


UIGraphicsBeginImageContext(size);

CGContextRef context = UIGraphicsGetCurrentContext();

CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(pdfPage, kCGPDFMediaBox, outRect, 0, true);
CGContextConcatCTM(context, pdfTransform);

CGContextDrawPDFPage(context, pdfPage);

UIImage *output = UIGraphicsGetImageFromCurrentImageContext();


CGContextSaveGState (context);

UIGraphicsEndImageContext();

[output drawInRect:outRect];

UIGraphicsEndPDFContext();}

将源 PDF 文件的 filePath 和 pageNumber 传递给该函数将为您提供一个具有单页的新 PDF。您可以根据您的要求进行进一步的增强。希望至少这会有所帮助。

关于iOS - 如何覆盖单页 PDF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com