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?
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.
Todo es una imagen. superposición de texto resaltado - eso es fácil de entender. pero cuando presionas ctrl + c y se copia en el portapapeles, esa parte me ha dejado 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