Ho guardato il traffico quando google visualizza allegati PDF in gmail in una nuova finestra. Il contenuto è servito come immagini PNG per ogni pagina PDF. E il suo testo può essere selezionato. Che cosa utilizza google sul lato server per generare un file PNG per una determinata pagina in un file pdf? Come funziona la selezione del testo su un file PNG? Qualche idea?Quale applicazione utilizza google per mostrare allegati PDF in gmail
risposta
Per impostazione predefinita gli allegati vengono visualizzati in modo sicuro utilizzando https://docs.google.com/gview, tuttavia risulta che è possibile richiedere file su HTTP semplice. Questo rende un po 'più facile capire cosa sta succedendo usando Wireshark.
Come hai indicato era già chiaro che il PDF è convertito sul lato server in un PNG (ImageMagick è davvero una soluzione ragionevole per questo scopo), il motivo ovvio per questo è quello di preservare il layout esatto pur essendo in grado per visualizzare il file senza richiedere un visualizzatore PDF.
Tuttavia, guardando il traffico ho scoperto che l'intero PDF viene anche convertito in un formato XML personalizzato al momento della chiamata/gview? A = gt & docid = & chan = & thid = (questo è fatto il più presto si richiede il documento). Poiché non ho potuto utilizzare Wireshark per copiare l'XML, ho fatto ricorso all'estensione di Firefox Live HTTP Headers. Ecco un estratto:
<pdf2xml>
<meta name="Author" content="Bruce van der Kooij"/>
<meta name="Creator" content="Writer"/>
<meta name="Producer" content="OpenOffice.org 3.0"/>
<meta name="CreationDate" content="20090218171300+01'00'"/>
<page t="0" l="0" w="595" h="842">
<text l="188" t="99" w="213" h="27" p="188,213">Programmabureau</text>
<text l="85" t="127" w="425" h="27" p="85,117,209,61,277,21,305,124,436,75">Nederland Open in Verbinding (NOiV)</text>
</page>
</pdf2xml>
Io non sono molto sicuro ancora quello che tutti gli attributi l'elemento di testo rappresentano (con l'eccezione di w e h) ma sono, ovviamente, le coordinate del testo e, eventualmente, la lunghezza . Come the JavaScript Google uses is minimized (o forse obsfuscated, ma non è probabile), capire esattamente come funziona la funzione di selezione lato client non è così facile. Ma molto probabilmente utilizza questo file XML per capire quale testo l'utente sta guardando e poi lo copia negli appunti dell'utente.
Si noti che esiste uno strumento open source (con licenza GPL) denominato pdf2xml che ha un output simile ma non del tutto identico.Ecco l'esempio da loro homepage:
<?xml version="1.0" encoding="utf-8" ?>
<pdf2xml pages="3">
<title>My Title</title>
<page width="780" height="1152">
<font size="10" face="MHCJMH+FuturaT-Bold" color="#FF0000">
<text x="324" y="37" width="132" height="10">Friday, September 27, 2002</text>
<img x="324" y="232" width="277" height="340" src="text_pic0001.png"/>
<link x="324" y="232" width="277" height="340" dest_page="2" dest_x="141" dest_y="187"/>
</font>
<font size="12" face="AGaramond-Regular" italic="true" bold="true">
<text x="509" y="68" width="121" height="12">This is a test PDF file</text>
<link x="509" y="68" width="121" height="12" href="www.mobipocket.com"/>
</font>
</page>
</pdf2xml>
auguriamo che queste informazioni è in alcun modo utile, ma come uno degli altri manifesti menzionato l'unico modo per essere sicuro di quello che Google fa è chiedendo loro. È un peccato che Google non abbia un canale IRC ufficiale, ma hanno lo a forum for Google Docs support questions.
Buona fortuna.
se avete il testo si può fare ciò che si vuole offcourse,
più specifica si dovrebbe verificare questo link: pdf to png using php
così ImageMagick sarà necessario imageMagic
edit: un'altra interesting link .
edit: ho trovato questo a Google, sembra interessante ... così si potrebbe utilizzare l'API di Google Google Document List Data Api e questo è un blogpost su di esso Google API Now Lets You Get Documents in Many Formats
Offcourse per essere sicuro di quello che Google utilizza avete bisogno di una risposta da loro ? :)
buona fortuna!
Ciao, grazie per la risposta. I collegamenti sono decisamente interessanti. Ho questi Big PDF (~ 50 Mb) come input per il mio processo e questi devono essere offerti ai client con connessioni lente. Tuttavia, i clienti possono aver bisogno solo di poche pagine per prendere la decisione. Quindi, stavamo pensando in termini di portare solo un'istantanea di un pdf proprio come fa Google. Abbiamo bisogno di un qualche tipo di prodotto aziendale che possa aiutarci a farlo. Prevalentemente java. Questo non è esattamente così ma utile. Alcuni altri indizi che ho sono .. http://www.jpedal.org/, iText Varun – varun
Si consiglia inoltre di utilizzare Lucence per indicizzare i file PDF di grandi dimensioni e offrire pagine correlate agli utenti.
Vedere http://www.jguru.com/faq/view.jsp?EID=1074237 per ulteriori idee.
Google utilizza un'applicazione di conversione PDF non open source sviluppata internamente. Quindi è meglio esaminare i link pubblicati da altre risposte, dato che non puoi mettere le mani sulla versione di Google. Scusate!
Per vedere con cosa viene creato un file PDF, fare clic con il pulsante destro del mouse e accedere a Proprietà documento (nel lettore Adobe). Il produttore PDF verrà visualizzato come "PDF Producer". Penso che Google utilizzi sia Prince e IText (non in combinazione per la creazione di PDF). Google ha creato alcune importanti modifiche sui toolkit sopra per creare quel prodotto finale.
Bene .. questo potrebbe essere solo lo strumento pdf2xml utilizzato da Google. Hanno solo cambiato le parole complete larghezza, altezza ecc e hanno aggiunto l'attributo p ... che si rivela essere l'attributo contenente le coordinate per le parole all'interno della linea. Ho appena giocato con esso e ho scoperto :) Usando questo pdf2xml da google: P Upload, lascia che si convertano ... usa xml per trasformare tooo ... epub? : P
Penso che dovresti provare a capire la domanda prima. –
- 1. Download di allegati da Gmail utilizzando l'API di Gmail
- 2. Filtro Intent per scaricare allegati da app gmail su Android
- 3. iTextSharp per PDF - come aggiungere file allegati?
- 4. Gli allegati Rails non sono visualizzati correttamente in Gmail
- 5. Accesso agli allegati utilizzando i gadget contestuali di Gmail
- 6. Quale prodotto Google GWT utilizza UiBinder?
- 7. Quale account di Google Play utilizza IabHelper?
- 8. Perché Google utilizza Canvas nella visualizzazione elenco conversazione app Gmail?
- 9. Applicazione Android per compilare un modulo PDF
- 10. Quale libreria GUI utilizza Google Chrome?
- 11. Gli allegati PDF si stanno trasformando in file DAT inutilizzabili
- 12. Internet Explorer 9 non utilizza il nome del file per allegati in linea
- 13. Entrata in applicazione Android con le credenziali di Gmail
- 14. Lager di Google per applicazione
- 15. Come mostrare e modificare i file PDF esistenti in applicazione iOS
- 16. Quale API di Google Analytics del fuso orario utilizza?
- 17. Pull per aggiornare come Gmail nuovo (4.5) applicazione
- 18. android come mostrare PopupMenu in webview come GMail
- 19. Quale porta e protocollo utilizza Google Cloud Messaging (GCM)?
- 20. "Hello world" come plug-in Gmail?
- 21. Come mostrare la finestra mobile per il segno con Google Plus in Android
- 22. HTML-Email con allegati in linea e allegati non in linea
- 23. Google maps e pdf
- 24. Quale framework utilizza `IServiceProvider`?
- 25. Applicazione che utilizza l'API di Bing Maps
- 26. Quale algoritmo utilizza Photoshop per desaturare un'immagine?
- 27. Quale schema utilizza Ghuloum?
- 28. Quale algoritmo utilizza python()()?
- 29. SOAP con allegati in VB.NET
- 30. quale lingua usa google e gli altri
Immagino che io rimango in alto ea sinistra. Google inoltre non ha bisogno di dati sui font man mano che il font viene reso all'interno di PNG. Quindi pdf2xml è probabilmente il generatore, ma in seguito l'XML è stato analizzato e alcuni dati sono stati rimossi. –