Cómo descargar un documento de solo lectura de Google Drive

¿Quieres descargar un archivo de Google Drive de solo lectura? Esto que la interfaz no nos deja hacer, es posible con un pequeño truco.

En julio de 2015 Google hizo un cambio en la forma de visualizar los archivos de solo lectura (Disable downloading, printing, and copying of any Google Drive file – July 14, 2015). Hasta ese momento los documentos solo lectura se podían copiar, descargar e imprimir. Y después de ese cambio ya solo se podían visualizar.

¿Cómo guarda Google Drive los documentos solo lectura?

Google Drive guarda los documentos de solo lectura como imágenes.

¿Se puede descargar un documento solo lectura de Drive?

  • Abrimos el documento en Google Drive.
  • Vamos al final del documento para que todas las páginas estén visibles. Esto es muy importante para que luego nos guarde todas las páginas.
  • Abrimos las herramientas de desarrollo (CTRL+mayúsculas+I).
  • Vamos a la solapa de la consola.
  • Pegamos este código creado por CodingCat.codes:
let jspdf = document.createElement("script");
 
jspdf.onload = function () {
 
    let pdf = new jsPDF();
    let elements = document.getElementsByTagName("img");
    for (let i in elements) {
        let img = elements[i];
        console.log("add img ", img);
        if (!/^blob:/.test(img.src)) {
            console.log("invalid src");
            continue;
        }
        let can = document.createElement('canvas');
        let con = can.getContext("2d");
        can.width = img.width;
        can.height = img.height;
        con.drawImage(img, 0, 0);
        let imgData = can.toDataURL("image/jpeg", 1.0);
        pdf.addImage(imgData, 'JPEG', 0, 0);
        pdf.addPage();
    }
 
    pdf.save("download.pdf");
};
 
jspdf.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js';
document.body.appendChild(jspdf);
  • Y pulsamos ENTER.
  • Y automáticamente comienza la descarga del PDF.

P.D. Lo hemos probado en Google Chrome y Opera.

¿Qué hace este código?

Va navegando por el documento buscando imágenes (como decíamos antes, Google Drive guarda las páginas en estos documentos como imágenes) y después escribe su contenido en un PDF.

Sencillo y a su vez genial.

 

Pantallazos de los pasos

Cómo descargar un documento de solo lectura de Google Drive - paso 01

Abrimos el documento en Google Drive.

Cómo descargar un documento de solo lectura de Google Drive - paso 01 (ir al final del documento PDF)

Vamos al final del PDF para que lo cargue completemente.

Cómo descargar un documento de solo lectura de Google Drive - paso 02

Abrimos las herramientas de desarrollo (CTRL+mayúsculas+I).

Cómo descargar un documento de solo lectura de Google Drive - paso 03

Pegamos el script completo y pulsamos ENTER para ejecutarlo.

Cómo descargar un documento de solo lectura de Google Drive - paso 04

Y nos descarga el archivo como download.pdf. Si ya hay un archivo download.pdf le añade un (1) y lo baja como download(1).pdf.

58 comentarios en “Cómo descargar un documento de solo lectura de Google Drive

  1. Marianela

    Hola! Intenté usar este código y me sucede que me descarga un PDF vacío, 1 página en blanco.
    Será que es necesario hacer algún ajuste al código? Gracias!

    Responder
  2. Gabriel N

    Hola, me pasa igual que a Marianela, solo se imprime una hoja en pdf en blanco y en la consola manda un error de syntax

    VM240:1 Uncaught SyntaxError: Identifier ‘jspdf’ has already been declared
    at :1:1

    Seguramente estoy haciendo algo mal.

    Responder
  3. Angel

    Hola, me funciona excelente, solo que algunas imágenes me aparecen cortadas del borde, intento modificar altura o ancho pero creo que lo estoy haciendo en la zona incorrecta del codigo.

    Responder
      1. Hablando de Internet y de SEO

        Hola Angel. Si en el archivo generado hay contenidos o imágenes que no aparecen completamente, lo mejor es alejar el zoom en el navegador (no en google docs) y dejarlo en 75% a 80%. Recargas la página y vuelves a ejecutar el script. Entonces debería caber bien en la página el contenido.
        Si te pierde mucha calidad puedes hacer el siguiente ajuste en el script:
        let pdf = new jsPDF();
        cambiarlo a:
        let pdf = new jsPDF('l', 'mm', [210, 297]);
        ajustando el 210 y 297 para que se ajuste a las proporciones / tamaño del documento.

        Responder
  4. Braian

    hola segui los pasos al pie de la letra verifique 3 veces que se haya copiado todo el codigo y me descarga un pdf casi en blanco, solo se aprecia una pequeña porcion del pdf.

    Responder
      1. Isabel Melchor

        Hola,

        Como en varios casos, únicamente me descarga una página en blanco. Podrían darme alguna sugerencia de descarga por favor.

        Éste es el link:

        read . oecd-ilibrary .org /governance/systemic-thinking-for-policy-making_879c4f7a-en#page1

        Responder
  5. Angel

    Muy buenas,
    Tu script funciona. Pero corta el documento por la derecha (lo he probado con un documento .pdf de formato apaisado) . Y no se corrige con ninguna de las medidas que propones.

    Responder
    1. Hablando de Internet y de SEO

      Muy buenas. El script no es nuestro sino de CodingCat.codes y está pensado para PDFs en formato vertical.

      Para que te funcione con documentos apaisados tienes que jugar con el siguiente ajuste:
      let pdf = new jsPDF();
      cambiarlo a:
      let pdf = new jsPDF('l', 'mm', [210, 297]);
      ajustando el 210 y 297 para que se ajuste a las proporciones / tamaño del documento.

      Así debería de funcionarte correctamente.

      Responder
  6. Lorena

    Hola me funcionó perfecto. Quisiera aprender mas , no tendrás algún curso de esto , algo que dictes online me gustaría aprender estas cosas, un abrazo gracias por todo.

    Responder
  7. Mario

    Hola buenas días, me funciona a la perfección el método mil gracias pero sabéis como sería el código para un vídeo (obviamente formato .mp4)

    Responder
  8. Bastián

    Funcionó excelente, tuve el problema de que salía cortado y cambié el zoom de google y salió perfecto, muchas gracias.

    Responder
  9. Maricel

    Muy buenos dias, segui los pasos al pie de la letra , 4 veces, y no hay manera 😓 es un texto de 389 paginas y me descarga una pagina bien dos en blanco , y asi todo el texto y una de las veces se escaneo solo la mitad de la pagina….y seguimos todo el instructivo . Por favor help!!! Saludos

    Responder
    1. Hablando de Internet y de SEO

      Hola Maricel. Antes de ejecutar el script tienes que haberte asegurado que se hayan cargado todas las páginas. Para ello te vas al final del documento y te esperas a que haya cargado todo el documento. Luego navegas un poco por el resto de las páginas para comprobar que realmente se han cargado. Si las páginas no se han cargado antes de ejecutar el script, no te saldrán.

      A ver si con esto puedes.

      Un saludo.

      Responder
  10. maria

    Buenos días, antes de nada muchas gracias por el aporte. Lo he intentado (con un pdf vertical), y no consigo más que ver un pequeño porcentaje de cada página en todo el documento. He utilizado el script tal cual está y variaddo las dimensiones en
    let pdf = new jsPDF(‘l’, ‘mm’, [297, 210]);
    de diversas formas y no consigo que se vea el documento entero.
    Utilizo el navegador opera ( con chrome ni me descarga el documento) y el documento utilizado es vertical.

    Muchas gracias y un saludo

    Responder
      1. maria

        Hola! Lo he vuelto a intentar hoy, poniendo la página de drive con zoom 25%, y he podido descargarlo completo y sin problemas. Muchas gracias!

        Responder
  11. Yazmín Simes

    Hola! quise descargr el pdf de un libro que necesito para la facu, y solamente me descargó 69 pag de las 394 y encima se bajaron todas desordenadas y cortadas

    Responder
  12. Lynxneo

    Hola, Buenos días. Necesito saber si los dueños del archivo pueden darse cuenta de la descarga. Pues es algo protegido, pero por gente conocida, compañeros de trabajo que tienen un puesto más alto y tienen accseso a esos archivos que son herramientas de trabajo para trabajar mejor.Si se dan cuenta, me botarán del grupo xd.

    Responder
  13. Daniel

    Me pasaron un video al google drive y puedo verlo como lector, pero no puedo bajarlo. Existe una forma de bajarlo sin ser el propietario?.

    Responder
    1. Hablando de Internet y de SEO

      Hola Daniel. De esta forma no se puede. Nosotros para la descarga de vídeos siempre usamos Video DownloadHelper en su versión Premium con la aplicación auxiliar. Es lo que mejor nos funciona y no falla nunca. El ahorro de tiempo nos compensa con creces la inversión. Un saludo.

      Responder
  14. Valentina

    Hola, cambié el zoom y no me descarga completamente bien, lo podrían hacer, hice 3 descargas con diferente zoom:(

    Responder
    1. Hablando de Internet y de SEO

      Hola Valentina. Hay dos factores importantes: Jugar con el zoom y situarse al final del documento para que lo cargue completamente. Si aún así no te funciona, tienes que jugar con estos parámetros:
      let pdf = new jsPDF();
      cambiarlo a:
      let pdf = new jsPDF('l', 'mm', [210, 297]);
      ajustando el 210 y 297 para que se ajuste a las proporciones / tamaño del documento.

      Esperamos que esto te ayude.

      Responder
  15. Hec

    Genial!!! funciona perfecto. Un tip, previamente a bajar el libro paginarlo completo, o sea ir pagina por pagina (tecl AvPag: avance de pagina) ir viendo que se cargan y visualizan todas las paginas una vez que terminamos de paginar ejecutamos el programa tal como se explica en el tuto. Si solo traemos la portada y ejecutamos el programa este probablemente no traiga mas que un par de paginas. Al menos asi me funcionó a mi.

    Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.