+ gchar *uri;
+ GFile *tmp_file = NULL;
+ GError *error = NULL;
+
+ if (!g_file_is_native (file)) {
+ gchar *base_name, *template;
+
+ base_name = g_file_get_basename (file);
+ template = g_strdup_printf ("document.XXXXXX-%s", base_name);
+ g_free (base_name);
+
+ tmp_file = ev_mkstemp_file (template, &error);
+ g_free (template);
+ if (!tmp_file) {
+ g_printerr ("Error loading remote document: %s\n", error->message);
+ g_error_free (error);
+
+ return NULL;
+ }
+
+ 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);