2010-01-26 19 views
17

Tengo curiosidad por saber cómo funciona el visor de PDF de Google Docs. No es un flash como scribd.com; parece un HTML puro ¿Alguna idea de cómo lo hicieron?¿Cómo funciona el visor de PDF de Google Docs?

Sample link to view the PDF

+3

con muchos ... y muchos ... y muchos ... de dinero – skaffman

+0

Lea la parte de 'editar' de mi respuesta al final de mi publicación. –

+0

Como @BenEverard declaró abajo, el PDF se representa como una imagen donde cada página es una imagen separada y no hay texto en la imagen, pero resaltan los bloques de texto en la página de la imagen con DIV semitransparentes. Cómo funciona la copia es otra pregunta. – infinity

Respuesta

18

Google es simplemente sirviendo una imagen (clic derecho -> Guardar como), con una superposición para resaltar el texto.

Debe consultar this SO question donde otros entran en más detalles.

También debe mirar a través de la fuente de su enlace PDF, parece que Google está pasando el enlace PDF para convertirse en una imagen.

Ejemplo:

<script type="text/javascript"> 
     var gviewElement = document.getElementById('gview'); 
     var config = { 

      'api': false, 
      'chrome': true, 
      'csi': true, 
      'ddUrl': "http://www.idfcmf.com/downloads/monthly_fund/2009/IDFC-Premier-Equityfund-jan10.pdf", 
      'element': gviewElement, 
      'embedded': false, 
      'initialQuery': "", 
      'oivUrl': "http://docs.google.com/viewer?url\x3dhttp%3A%2F%2Fwww.idfcmf.com%2Fdownloads%2Fmonthly_fund%2F2009%2FIDFC-Premier-Equityfund-jan10.pdf", 
      'sdm': 200, 
      'userAuthenticated': true 
     }; 

     var gviewApp = _createGView(config); 
     gviewApp.setProgress(50); 


      window.jstiming.load.name = 'view'; 

      window.jstiming.load.tick('_dt'); 

     </script> 

Editar

Además, si usted fuera a ver el visor de PDF en Firefox con Firebug, se dará cuenta de que cuando el texto 'destacado' en realidad sólo está permitiendo una carga de divs, supongo que Google escanea el documento usando OCR, detecta dónde está el texto y proporciona una matriz de coordenadas en la que basar la ubicación del div, cuando hace clic y lo arrastra introduce la ubicación del puntero del mouse para determinar a qué divs monitor.

+0

No .. no está convirtiendo cosas enteras en imagen. porque, le permite seleccionar y copiar el texto dentro de él. no creo que podamos hacer eso en la imagen ... –

+0

No ... lo está convirtiendo en una imagen ... ¡puedes decirlo porque lo descargué como PNG! Cómo logró proporcionar una superposición para resaltar/copiar texto es algo que no puedo explicar, pero que está convirtiendo en una imagen. ¿Has mirado la otra publicación SO a la que me he vinculado? –

+0

Si desea una prueba de que está convirtiendo a una imagen, consulte este enlace -> http://docs.google.com/viewer?url=http://www.idfcmf.com/downloads/monthly_fund/2009/IDFC -Premier-Equityfund-jan10.pdf & docid = 5322c117e5783d5cdd53578480268e86 & a = bi & pagenumber = 1 & w = 800 –

1

todo es una imagen. superposición de texto resaltado - eso es fácil de entender. pero cuando presiona ctrl + c y copia al portapapeles, esa parte me tiene totalmente perplejo. porque no es posible escribir en el portapapeles usando javascript en firefox, pero este ctrl + c en la imagen funciona bien en Firefox. http://www.google.com/support/forum/p/Google+Docs/thread?tid=67dcf21ef8579b4c&hl=en&fid=67dcf21ef8579b4c00047e4a2a9fcb12

+1

Supongo que no están utilizando javascript para poner el texto en el clipbox, sino más bien texto seleccionable en el navegador. Y cuando presiona Ctrl + C, en realidad está utilizando la función de copia normal del navegador. – BastiBen

1

Estoy de acuerdo con algunas de las otras respuestas: el PDF se representa como PNG, y es muy probable que las áreas de texto estén en capas, probablemente usando un posicionamiento absoluto/relativo. Puede extraer información PDF del PDF (por supuesto ...). El formato PDF está abierto; cualquiera puede hacerlo (aunque no sea fácil). Sin embargo, hay algunas herramientas de código abierto (xPDF ...) que permiten exportar contenido PDF, como XML. Es posible que las exportaciones incluyan información como coordenadas sobre dónde deben mostrarse en la página el texto y las imágenes.

Cuestiones relacionadas