我正在尝试合并我的应用程序中的两个pdf文件。但我的应用程序在创建组合文件引用的时候不断出现故障。(参见代码中的注释)。有人能给我指一下这里的正确方向吗?谢了。
- (void) mergerPDFFiles : (NSString*) firstPDFFile : (NSString* ) secondPDFFile {
//set path to plist to read in docs directory
NSString* pdf1Path = [documentsDirectory stringByAppendingPathComponent:firstPDFFile];
NSString* pdf2Path = [documentsDirectory stringByAppendingPathComponent:secondPDFFile];
BOOL hasError = NO;
NSMutableString* strErrMsg = [[NSMutableString alloc] init];
//check to see if the file exists
if (![fileManager fileExistsAtPath:pdf1Path]) {
hasError = YES;
[strErrMsg appendString:[NSString stringWithFormat:@"Could not find the PDF just created: %@", firstPDFFile]];
}
//check to see if the file exists
if (![fileManager fileExistsAtPath:pdf2Path]) {
hasError = YES;
[strErrMsg appendString:[NSString stringWithFormat:@"Could not find the marketing materials PDF: %@", secondPDFFile]];
}
if (!hasError) {
NSArray* arrPDFPaths = [[NSArray alloc] initWithObjects:pdf1Path, pdf2Path, nil];
//make a new file name
NSArray* arrPDF1Split = [firstPDFFile componentsSeparatedByString:@"."];
NSString* strNewPDF = [NSString stringWithFormat:@"%@_Complete", [arrPDF1Split objectAtIndex:0]];
// File paths
NSString* pdfPathOutput = [documentsDirectory stringByAppendingPathComponent:strNewPDF];
/******************DIES HERE!***********************************/
CFURLRef pdfURLOutput = (__bridge CFURLRef)[[NSURL alloc] initFileURLWithPath:pdfPathOutput];
NSInteger numberOfPages = 0;
// Create the output context
CGContextRef writeContext = CGPDFContextCreateWithURL(pdfURLOutput, NULL, NULL);
/********************ERROR MESSAGE******************************
CGDataConsumerCreateWithFilename: failed to open `ers/msg-surans/Library/Application Support/iPhone Simulator/6.0/Applications/299DBD9D-738F-49E0-B593-159033DDE39B/Documents/OER_Pro_Cost_Test_Complete' for writing: No such file or directory.
****************************************************************/
//loop through the pdfs
for(int i=0; i<arrPDFPaths.count; i++) {
//get the file
NSString* pdfSource = [arrPDFPaths objectAtIndex:i];
//set a CFURL to the pdf
CFURLRef pdfURL = (__bridge CFURLRef)[[NSURL alloc] initFileURLWithPath:pdfSource];
//set a reference to the pdf
CGPDFDocumentRef pdfRef = CGPDFDocumentCreateWithURL((CFURLRef) pdfURL);
numberOfPages = CGPDFDocumentGetNumberOfPages(pdfRef);
//set some ivars
CGPDFPageRef page;
CGRect mediaBox;
// Read the first PDF and generate the output pages
NSLog(@"GENERATING PAGES FROM PDF (%@)...", pdfSource);
for (int x=1; x<=numberOfPages; x++) {
page = CGPDFDocumentGetPage(pdfRef, x);
mediaBox = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGContextBeginPage(writeContext, &mediaBox);
CGContextDrawPDFPage(writeContext, page);
CGContextEndPage(writeContext);
}
CGPDFDocumentRelease(pdfRef);
CFRelease(pdfURL);
}
CFRelease(pdfURLOutput);
// Finalize the output file
CGPDFContextClose(writeContext);
CGContextRelease(writeContext);
} else {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Error Merging PDF Files"
message: strErrMsg
delegate: nil
cancelButtonTitle:@"OK"
otherButtonTitles:
nil];
[alert show];
}
}
我认为是您的
应该是这样的:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
问题内容: 我的概念是-网站中有10个pdf文件。用户可以选择一些pdf文件,然后选择合并以创建一个包含所选页面的pdf文件。我该如何用PHP做到这一点? 问题答案: 我以前做过 我有一个用fpdf生成的pdf,我需要在其中添加可变数量的PDF。 因此,我已经设置了fpdf对象和页面),并使用fpdi导入了文件通过扩展PDF类来添加FDPI: 基本上,这会将每个pdf转换为图像以放入您的其他pdf
我想合并几个pdf文件。我该怎么做? 到目前为止,我得到的是这个。 我正在尝试使用这个程序包myokyawhtun/PDFMerger。 根据我尝试合并的文件的不同,错误也会有所不同。 如果我尝试合并同一个pdf两次,则会生成该文件,但全部为空 如果我尝试上面的代码,就会得到HTTP错误500 如果我尝试使用更多文件,就会出现tcpdi_解析器内存不足错误 底线是它似乎不起作用。 我已经尝试了其他
我想在另一个缩放的PDF页面中插入一个PDF页面。我想用iTextSharp做这个。 我有一个矢量绘图,可以导出为单页PDF文件。我想将此文件添加到其他PDF文档的页面中,就像我将图像添加到PDF文档一样。 这可能吗? 这样做的目的是在不损失质量的情况下保留放大的能力。 使用PDF矢量很难再现矢量绘图,因为它是一个极其复杂的绘图。 导出矢量绘图为高分辨率图像不是一个选项,因为我不得不在一个单独的P
Mac上的预览应用程序允许合并多个PDF文件,尽管功能相当模糊。我正在用Haskell编写一个实用程序,它需要执行类似的任务,即将任意数量的PDF文件合并到一个新文件中。 有没有人建议从哪里入手?显然,如果有一个关于Hackage的库可以开箱即用地完成大部分工作,那将是理想的,但如果没有,那么一些关于从哪里开始的指针将非常感激。
我看了一个视频,学习如何将PDF文件合并成一个PDF文件。我试图修改一点代码,以便处理一个文件夹,其中有PDF文件主文件夹(Spyder)有,这是代码 我有一个名为的子文件夹进入主文件夹,在这个子文件夹中,我把PDF文件和子文件夹内的我创建了一个名为的文件夹。我得到了错误文件没有找到1.pdf虽然当打印的内循环,我得到了PDF名称。 错误的追溯
在上一章中,我们已经了解了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面中提取图像。 从PDF文档生成图像 PDFBox库为您提供了一个名为PDFRenderer的类, PDFRenderer PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态方法load()加载现有PDF文档