2009-04-25 14 views

Odpowiedz

7

Domyślnie załączniki są wyświetlane bezpiecznie za pomocą https://docs.google.com/gview, jednak okazuje się, że możesz żądać plików za pośrednictwem zwykłego HTTP. Dzięki temu łatwiej jest zorientować się, co się dzieje za pomocą Wireshark.

Jak wskazałeś, było już jasne, że plik PDF jest konwertowany po stronie serwera na PNG (ImageMagick jest rzeczywiście rozsądnym rozwiązaniem do tego celu), oczywistym powodem jest zachowanie dokładnego układu przy jednoczesnym zachowaniu możliwości aby wyświetlić plik bez konieczności przeglądarki plików PDF.

Jednak patrząc na ruch I okazało się, że cała PDF jest również przekształcić w niestandardowym formacie XML podczas wywoływania/GView? A = gt & docId = & chan = & thid = (odbywa się to tak szybko, jak zażądasz dokumentu). Ponieważ nie mogłem użyć Wiresharka do skopiowania pliku XML, który odwołałem do rozszerzenia przeglądarki Firefox Live HTTP Headers. Oto fragment:

<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> 

Nie jestem pewien, ale to, co wszystkie atrybuty w elemencie tekstowym oznaczają (z wyjątkiem wag oraz h), ale oni oczywiście współrzędne tekstu i ewentualnie długości . Jako the JavaScript Google uses is minimized (lub prawdopodobnie przestarzałe, ale nie jest to prawdopodobne) dokładne ustalenie, jak działa funkcja wyboru po stronie klienta, nie jest takie proste. Najprawdopodobniej używa tego pliku XML, aby dowiedzieć się, jakiego tekstu szuka użytkownik, a następnie kopiuje go do schowka użytkownika.

Należy zauważyć, że istnieje narzędzie open source (na licencji GPL) o nazwie pdf2xml, które ma podobne, ale niezupełnie takie samo wyjście.Oto przykład z ich głównej:

<?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> 

Nadzieja ta informacja jest w żaden sposób użyteczne, jednak jak jeden z pozostałych plakatów wspomniano, że jedynym sposobem, aby upewnić się, co Google robi to poprzez zadawanie im. Szkoda, że ​​Google nie ma oficjalnego kanału IRC, ale ma on a forum for Google Docs support questions.

Powodzenia.

+0

Zgaduję, że t i stoję na górze i na lewo. Google również nie potrzebuje danych czcionki, ponieważ czcionka jest renderowana w PNG. Tak więc pdf2xml jest prawdopodobnie generatorem, ale XML został następnie przeanalizowany, a niektóre dane usunięte. –

1

jeśli masz tekst można zrobić to, co chcesz offcourse,

dokładniej powinieneś sprawdzić ten link: pdf to png using php

więc ImageMagick będą potrzebne imageMagic

EDIT: inny interesting link .

edit: Znalazłem to w google, to wygląda interesująco ... więc można użyć google api Google Document List Data Api a to blogpost o tym Google API Now Lets You Get Documents in Many Formats

Offcourse mieć pewność co Google wykorzystuje trzeba odpowiedź od nich ? :)

powodzenia!

+0

Witam, dzięki za odpowiedź. Linki są zdecydowanie interesujące. Mam duże pliki PDF (~ 50 Mb) jako dane wejściowe do mojego procesu i te muszą być dostarczane klientom na wolnych połączeniach. Jednak klienci mogą potrzebować tylko kilku stron, aby podjąć decyzję. W związku z tym myśleliśmy w kategoriach przenoszenia tylko migawki pliku pdf, tak jak Google. Potrzebujemy jakiegoś produktu dla przedsiębiorstw, który mógłby nam w tym pomóc. Prevrowably java. To nie jest dokładnie takie, ale pomocne. Jeszcze więcej potencjalnych klientów mam .. http://www.jpedal.org/, iText Varun – varun

2

Google korzysta z opracowanej przez nas aplikacji do konwersji plików PDF bez użycia kodu źródłowego. Lepiej więc zajrzyj do linków umieszczonych przez inne odpowiedzi, ponieważ nie możesz dostać się do wersji Google. Przepraszam!

0

Aby zobaczyć, z czego utworzono plik pdf, kliknij go prawym przyciskiem myszy i przejdź do Właściwości dokumentu (w czytniku Adobe). Producent PDF pojawi się jako "Producent PDF". Myślę, że Google używa zarówno Prince i IText (nie w połączeniu do tworzenia plików PDF). Google utworzył kilka głównych modyfikacji powyższych zestawów narzę dzi, aby utworzyć ten produkt koń cowy.

-2

Cóż .. to może być tylko narzędzie pdf2xml, którego używa Google. Zmienili tylko szerokość pełnych słów, wysokość itd. I dodali atrybut p ..., który okazuje się być atrybutem zawierającym współrzędne słów wewnątrz linii. Po prostu bawiłem się tym i dowiedziałem się :) Będziemy korzystać z tego pdf2xml z google: P Upload, niech konwertują ... użyj xml aby przekształcić tooo ... epub? : P

+0

Myślę, że powinieneś najpierw spróbować zrozumieć to pytanie. –

Powiązane problemy