我有一個很大的麻煩。我想合併多個PDF文件在iphone應用程序的一個PDF文件。但是我不能。你可以幫我嗎 ?非常感謝如何將多個PDF文件合併爲一個PDF
2
A
回答
3
如果我正確地理解了這個問題,您正試圖將一堆獨立的PDF文件添加到一個PDF文件中。
我用下面的代碼將1個pdf文件添加到另一個pdf文件的末尾來創建一個pdf文件。
//NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *cacheDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
// File paths
NSString *pdfPath1 = [[NSBundle mainBundle] pathForResource:@"pdf1" ofType:@"pdf"];
NSString *pdfPath2 = [cacheDir stringByAppendingPathComponent:@"temp.pdf"];
NSString *pdfPathOutput = [cacheDir stringByAppendingPathComponent:@"out.pdf"];
// File URLs - bridge casting for ARC
CFURLRef pdfURL1 = (__bridge_retained CFURLRef)[[NSURL alloc] initFileURLWithPath:(NSString *)pdfPath1];//(CFURLRef) NSURL
CFURLRef pdfURL2 = (__bridge_retained CFURLRef)[[NSURL alloc] initFileURLWithPath:(NSString *)pdfPath2];//(CFURLRef)
CFURLRef pdfURLOutput =(__bridge_retained CFURLRef) [[NSURL alloc] initFileURLWithPath:(NSString *)pdfPathOutput];//(CFURLRef)
// File references
CGPDFDocumentRef pdfRef1 = CGPDFDocumentCreateWithURL((CFURLRef) pdfURL1);
CGPDFDocumentRef pdfRef2 = CGPDFDocumentCreateWithURL((CFURLRef) pdfURL2);
// Number of pages
NSInteger numberOfPages1 = CGPDFDocumentGetNumberOfPages(pdfRef1);
NSInteger numberOfPages2 = CGPDFDocumentGetNumberOfPages(pdfRef2);
// Create the output context
CGContextRef writeContext = CGPDFContextCreateWithURL(pdfURLOutput, NULL, NULL);
// Loop variables
CGPDFPageRef page;
CGRect mediaBox;
// Read the first PDF and generate the output pages
NSLog(@"GENERATING PAGES FROM PDF 1 (%i)...", numberOfPages1);
for (int i=1; i<=numberOfPages1; i++) {
page = CGPDFDocumentGetPage(pdfRef1, i);
mediaBox = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGContextBeginPage(writeContext, &mediaBox);
CGContextDrawPDFPage(writeContext, page);
CGContextEndPage(writeContext);
}
// Read the second PDF and generate the output pages
NSLog(@"GENERATING PAGES FROM PDF 2 (%i)...", numberOfPages2);
for (int i=1; i<=numberOfPages2; i++) {
page = CGPDFDocumentGetPage(pdfRef2, i);
mediaBox = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGContextBeginPage(writeContext, &mediaBox);
CGContextDrawPDFPage(writeContext, page);
CGContextEndPage(writeContext);
}
NSLog(@"DONE!");
// Finalize the output file
CGPDFContextClose(writeContext);
// Release from memory
CFRelease(pdfURL1);
CFRelease(pdfURL2);
CFRelease(pdfURLOutput);
CGPDFDocumentRelease(pdfRef1);
CGPDFDocumentRelease(pdfRef2);
CGContextRelease(writeContext);
+0
你可以檢查這個SO鏈接http://stackoverflow.com/questions/16646039/how-to-save-created-pdf-in-document-folder-and-merge-in-ios我正在運行相同的問題 –
+0
我完成了你的上面的代碼:) 1up的答案... –
-1
$mergedPath = '/tmp/bulkinvoice_merge_'.$vendor_id.'_'.$randomno.'.pdf';
$filepath = 'http://xyz/'.$vendor_id.'/'.$shipmentId.'_invoice_shipment_label.pdf';
$current = file_get_contents($filepath);
$tempPath = '/tmp/bulkinvoice_'.$vendor_id.'_'.$shipmentId.'.pdf';
chmod($tempPath, 777);
file_put_contents($tempPath,$current);
$pdf = Zend_Pdf::load($tempPath);
foreach($pdf->pages as $page){
$pdfExtract = $ex->clonePage($page);
$pdf2show->pages[] = $pdfExtract;
}
//$pdf2show->pages[] = $ex->clonePage($pdf->pages[0]);
echo "\n [->]Added in merged PDF : ".$shipmentId;
$pdf2show->save($mergedPath);
unlink($tempPath);
相關問題
- 1. 將多個PDF合併爲一個PDF
- 2. 將多個PDF文件合併爲一個PDF文件
- 3. 將多個pdf合併爲一個PDFMerger
- 4. 如何在PHP中將多個PDF文件合併到一個單頁PDF中
- 5. 如何使用PDF :: API2將幾個pdf合併爲一個Perl?
- 6. PDFCreator將多個pdf文件合併爲一個
- 7. 將多個文件夾中的多個文件類型合併爲一個pdf
- 8. 將2個postscript文件合併爲pdf
- 9. 將pdf文件合併爲{pdf ver 1.7}
- 10. 如何在swift 3.0中將一個pdf合併到另一個pdf文件中。
- 11. 如何使用ruby將多個圖像合併爲一個PDF?
- 12. 將多頁PDF與ImageMagick合併爲一個PDF
- 13. 合併多個PDF文件合併成一個用PHP Ghostscript的
- 14. 如何將2個base64二進制PDF文件合併爲單個PDF?
- 15. 創建多個PDF合併爲一個文件從excel
- 16. iTextSharp - 填寫PDF多次併合併爲一個pdf
- 17. 合併幾個pdf文件
- 18. VB.Net將多個PDF合併爲一個並導出
- 19. 用VBScript合併多個PDF文件
- 20. 如何將多個PDF文件(或PNG)合併成一個單一的頁面
- 21. 在Linux上搜索PDF庫(轉換爲圖像並將多個文件合併爲一個pdf)
- 22. 將兩個文件pdf合併成一個文件覆蓋?
- 23. 是否可以在iPhone中以編程方式將多個PDF文件合併爲一個PDF文件?
- 24. 將PDF插入PDF(不合並文件)
- 25. 如何將多個單頁PDF文件合併到Android中的一個PDF文檔中
- 26. 如何在PHP中以單個PDF合併多個PDF
- 27. 如何使用java將多個多頁面tiff文件合併爲一個pdf文件?
- 28. 將png圖像合併爲一個pdf文件
- 29. 合併多個PDF的Zend
- 30. Unix:將PDF文件和圖像合併爲PDF文件?
您想使用現有的應用多個PDF文件合併成一個PDF文件,或者你想創建一個新的應用程序嗎? –
使用['pdftk'](http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/),'cat'命令。 – Orbling
@Orbling:在iOS上,嗯。 :/ – BastiBen