¿Cómo guardar y ver un archivo pdf a través de una aplicación en iPhone?
-
22-07-2019 - |
Pregunta
Estoy tratando de guardar un archivo pdf en SQLite. Creo que será posible guardando el archivo pdf como blob. Y el problema comienza aquí, ¿cómo ver ese archivo dentro de la aplicación de iPhone ahora? Sé que se puede hacer usando este código: -
@interface PDFViewController : UIViewController {
UIWebView *webView;
NSURL *pdfUrl;
}
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, retain) NSURL *pdfUrl;
@end
@implementation PDFViewController
@synthesize webView, pdfUrl;
- (void)viewDidLoad {
[super viewDidLoad];
// Tells the webView to load pdfUrl
[webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];
}
Pero cuál debería ser el valor de pdfUrl
, estoy confundido ...
Y si lo recupero de la base de datos, estará en un formato de blob (me parece), entonces, ¿cómo convertirlo en un objeto NSdata
?
Gracias a todos.
Solución
El problema es que WebView carga la URL y no comprende cosas como solicitudes que no son http; Sin embargo, su aplicación está intentando servir los datos. Básicamente, no tienes suerte, a menos que puedas deserializar el blob de la base de datos sqllite, escribirlo en un archivo (en / tmp, por ejemplo) y luego abrir un archivo: /// URL desde NSWebView, pero No creo que el objeto te permita hacer eso.
Usted podría ser capaz de invocar el método [UIWebView loadData: MIMEType: textEncodingName: baseURL:], que le permitirá extraer el blob NSData de la base de datos sqllite, proporcionar un tipo mime de application / pdf, inserte una codificación de texto ficticio (UTF-8) y una URL base, y luego podría hacer lo que quiera. Pero estaría tentado a intentarlo al menos.
Otros consejos
el pdfUrl es la dirección web del PDF que está intentando descargar del sitio web. (es decir, http://website.com/mypdf.pdf )
Lea la documentación en NSData, tiene un método que le permite crear objetos NSData basados ??en lo que extrae utilizando sqlite.