2016-04-06 10 views
0

iOS uygulamam için basit html - .docx dosyasına yazarak bir sözcük dosyası oluşturmaya çalışıyorum. html içeriğinde, görüntülerin mutlak yolları ile birlikte bazı img etiketleri de bulunur. Oluşturulan dosya, aynı bilgisayardan erişildiğinde (simülatörün oluşturduğu yerden erişerek) iyi çalışır, ancak docx'u başka birine göndermeye çalıştığımda, bu resimler eksik olur. Dosya oluşturmak ve yazmak için aşağıdaki kodu kullanıyorum.Nesneleri kullanarak görüntülerle sözcük dosyası oluşturma c

Bu belgeyi docx dosyasına gömmek istiyorum. Bunu nasıl başarabilirim?

NSString *userText = @"Hello, world!"; 

NSMutableString *html = [NSMutableString stringWithFormat:@"<html><body><h1>%@</h1><hr><br/> <img src=\"icon.png\"/></body></html>", userText]; 

NSString *docsFolder = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; 

NSString *filename = [docsFolder stringByAppendingPathComponent:@"sample.docx"]; 

NSError *error; 
[html writeToFile:filename atomically:NO encoding:NSUTF8StringEncoding error:&error]; 
if (error) { 
    NSLog(@"Error occured"); 
} 
+0

Bir '.docx' uzantılı bir dosyada html içeriğinin yazılmasının o dosyayı geçerli bir docx dosyası haline getirdiğinden şüphe duyuyorum. –

+0

Aslında, bildiğim kadarıyla, docx dosyaları gerçekten sadece zip arşivleridir ve bu, belgenin görüntüleri nasıl taşıdığıdır. –

cevap

0

sen kastediyoruz mutlak yol:

\ icon.png Bu lokal klasörüne kaydedilir görüntüyü yükler. Görüntüyü uzaktan yüklemek için, resminizi barındırın ve bir http yolu verin: http://www.abcd.com/images/icon.png

+0

Onun docx dosyasına gömülmesini istiyorum. Bunu nasıl başarabilirim? – mdanishs

+0

iOS uygulamasında bir docx dosyası oluşturmak için [libopc] kullanmayı deneyin (http://libopc.codeplex.com/releases/view/70014) – iSaalis

0

A docx aslında belirli bir yapıya sahip bir ZIP dosyasıdır. Görüntünüzü ZIP dosyasına da eklemeniz gerekiyor. the specification veya other documentation'a bakın. Hızlı bir bakışla, resmi ana HTML dosyanızla aynı ZIP dizinine koymanız gerekiyor.