google for docs pdf google-docs

for - ¿Cómo funciona el visor de PDF de Google Docs?



google drive viewer (3)

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

Enlace de muestra para ver el PDF


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


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

Debes revisar esta pregunta de SO donde otros entran en más detalles.

También debería consultar la fuente de su enlace PDF, parecería 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 fuera a ver el visor de PDF en Firefox con Firebug, notará que cuando ''resalta'' el texto en realidad solo está habilitando una carga de divs, supongo que Google escanea el documento utilizando OCR, detecta dónde está el texto y proporciona una matriz de coordenadas en la que basar la ubicación de div, cuando hace clic y arrastra, se introduce la ubicación del puntero del mouse para determinar qué divs se mostrarán.