Я ранее размещал related question на SO, но безрезультатно. Затем я изменил свой подход и создал PDF-файлы, все из которых имеют одинаковые размеры и т. Д. Все эти PDF-файлы также состоят только из одной страницы.Создать многостраничный PDF-файл из других PDF-файлов
Теперь я хотел бы объединить эти одностраничные PDF-файлы в один многостраничный PDF-файл. От here Я думаю, что я понял, какие шаги при создании многостраничного PDF-файла.
После выполнения приведенного ниже кода создается PDF-файл с ожидаемым именем файла, но PDF-файл состоит только из одной страницы и полностью пустой.
Я нахожусь здесь в уединении ... Пожалуйста, скажите мне, что я делаю неправильно! Да, я считаю, какой-то цикл будет работать здесь, но, честно говоря, LOOPS всегда получали лучше меня .... :(
Любая помощь будет принята с благодарностью!
О, и я ! едва Swift - пожалуйста, не бросайте Obj-C у меня;)
Вот мой код:
func CreateCombinedPDF() {
let pdf01 = String("\(newDetailsLogIdentifier)_PAGE01.pdf")
let pdf02 = String("\(newDetailsLogIdentifier)_PAGE02.pdf")
//STEPS IN CREATING A COMBINED PDF
// 1. CGPDFDocumentCreateWithURL
// 2. CGContextBeginPage
// 3. CGPDFDocumentGetPage
// 4. CGPDFContextCreateWithURL
// 5. CGContextDrawPDFPage
// 6. CGContextEndPage
// 7. CGPDFContextClose
var mediaBox:CGRect = CGRectMake(0, 0, 820, 1170)
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let combinedDocumentFileName = documentsURL.URLByAppendingPathComponent("\(newDetailsLogIdentifier)_COMBINED.pdf")
let fullPathCombinedDocument = combinedDocumentFileName.path!
let myCombinedDocumentURL = NSURL(fileURLWithPath: fullPathCombinedDocument)
let myContextCombinedDocument = CGPDFContextCreateWithURL(myCombinedDocumentURL, &mediaBox, nil)
let fileNamePDF01 = documentsURL.URLByAppendingPathComponent(pdf01)
let fullPathPDF01 = fileNamePDF01.path!
let urlPDF01 = NSURL(fileURLWithPath: fullPathPDF01)
let myContextPDF01 = CGPDFContextCreateWithURL(urlPDF01, &mediaBox, nil)
CGPDFContextBeginPage(myContextPDF01, nil)
//Here's my problem - I think...
CGContextDrawPDFPage(myContextPDF01, nil)
CGPDFContextEndPage(myContextPDF01)
let fileNamePDF02 = documentsURL.URLByAppendingPathComponent(pdf02)
let fullPathPDF02 = fileNamePDF02.path!
let urlPDF02 = NSURL(fileURLWithPath: fullPathPDF02)
let myContextPDF02 = CGPDFContextCreateWithURL(urlPDF02, &mediaBox, nil)
CGPDFContextBeginPage(myContextPDF02, nil)
//Here's my problem - I think...
CGContextDrawPDFPage(myContextPDF02, nil)
CGPDFContextEndPage(myContextPDF02)
CGPDFContextClose(myContextCombinedDocument)
}
Ну, оказывается, что приведенный выше код не выполняет ничего, кроме перезаписи оригинальных одностраничных PDF-файлов - на пустые страницы! Мне здесь очень нужна помощь! –