+ g_file_copy (file, tmp_file, G_FILE_COPY_OVERWRITE,
+ NULL, NULL, NULL, &error);
+ if (error) {
+ g_printerr ("Error loading remote document: %s\n", error->message);
+ g_error_free (error);
+ g_object_unref (tmp_file);
+
+ return NULL;
+ }
+ uri = g_file_get_uri (tmp_file);
+ } else {
+ uri = g_file_get_uri (file);
+ }
+
+ document = ev_document_factory_get_document (uri, &error);
+ if (tmp_file) {
+ if (document) {
+ g_object_weak_ref (G_OBJECT (document),
+ (GWeakNotify)delete_temp_file,
+ tmp_file);
+ } else {
+ ev_tmp_file_unlink (tmp_file);
+ g_object_unref (tmp_file);
+ }
+ }
+ g_free (uri);
+ if (error) {