bublen Inviato 21 Aprile 2012 Segnala Condividi Inviato 21 Aprile 2012 ciao a tutti. sto cercando di scrivere delle pagine in pdf tramite xcode utilizzo questo codice: CGContextSelectFont (pdfContext, "Helvetica", 15, kCGEncodingMacRoman); CGContextSetTextDrawingMode (pdfContext, kCGTextFill); CGContextSetRGBFillColor (pdfContext, 0, 0, 0, 1); //stringa da inserire const char *barTitolo = [@"Città " UTF8String]; //riga titolo CGContextShowTextAtPoint (pdfContext, 25, pageRect.size.height - 40, barTitolo, strlen(barTitolo)); il problema sta proprio nella "a" accentata che non viene presa (viene visualizzato Citt†). come posso risolvere? ho già cercato sul web e sulla documentazione, ma non ho trovato nulla che possa aiutarmi. grazie a tutti Hai un'idea per un'app ma non sai programmare? Contattami. Trovi gli indirizzi sul mio sito: http://www.2ciphonedevelopers.com Link al commento Condividi su altri siti Altre opzioni di condivisione...
MacMomo Inviato 21 Aprile 2012 Segnala Condividi Inviato 21 Aprile 2012 Hai provato con cStringUsingEncoding:? Forse è un problema di codifica del tuo file di codice. Magari legge la stringa da te scritta con una codifica diversa che poi nella conversione a UTF8 ne cambia il risultato. Alla peggio prova a scrivere così: const char *barTitolo = {'C', 'i', 't', 't', 224}; 224 dovrebbe essere il valore decimale della 'a' accentata in UTF8. Marco - Gallery MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard Link al commento Condividi su altri siti Altre opzioni di condivisione...
bublen Inviato 22 Aprile 2012 Autore Segnala Condividi Inviato 22 Aprile 2012 sì ho provato con cStringUsingEncoding ma senza risultato. tu come lo useresti in questo caso? su suggerimento di un utente del forum ufficiale ho anche utilizzato il metodo drawInRect. ecco il codice CGRect pageRect = CGRectMake(0, 0, 612, 792); CGContextRef pdfContext; CFStringRef path; CFURLRef url; CFMutableDictionaryRef myDictionary = NULL; path = CFStringCreateWithCString (NULL, filename, kCFStringEncodingUTF8); url = CFURLCreateWithFileSystemPath (NULL, path, kCFURLPOSIXPathStyle, 0); CFRelease (path); myDictionary = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); CFDictionarySetValue(myDictionary, kCGPDFContextTitle, CFSTR("My PDF File")); CFDictionarySetValue(myDictionary, kCGPDFContextCreator, CFSTR("My Name")); pdfContext = CGPDFContextCreateWithURL (url, &pageRect, myDictionary); CFRelease(myDictionary); CFRelease(url); CGContextBeginPage (pdfContext, &pageRect); // rettangolo nero CGContextStrokeRect(pdfContext, CGRectMake(20, 20, pageRect.size.width -40, pageRect.size.height - 40)); // testo CGContextSelectFont (pdfContext, "Helvetica", 9, kCGEncodingMacRoman); CGContextSetTextDrawingMode (pdfContext, kCGTextFill); CGContextSetRGBFillColor (pdfContext, 0, 0, 0, 1); NSString *text = @"Citt"; UIFont *font = [uIFont fontWithName:@"Helvetica" size:15]; CGSize textSize = [text sizeWithFont:font constrainedToSize:CGSizeMake(pageRect.size.width, 2000) lineBreakMode:UILineBreakModeWordWrap]; [text drawInRect:CGRectMake(20, 20, textSize.width, textSize.height) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentLeft]; CGContextEndPage (pdfContext); //fine contest del PDF CGContextRelease (pdfContext); purtroppo senza risultato. lo stesso utente non capisce come mai questo codice non vada... e ovviamente nemmeno io semplicemente nel file pdf che si salva, non compare nulla, pagina bianca. suggerimenti? PS: l'ultimo metodo che mi hai suggerito non posso proprio utilizzarlo. questo perché avevo messo Città come esempio, ma in realtà devo "scrivere" stringhe molto più lunghe... grazie ciao Hai un'idea per un'app ma non sai programmare? Contattami. Trovi gli indirizzi sul mio sito: http://www.2ciphonedevelopers.com Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.