DocVert kan håndtere alle dine dokumentkonvertering Needs

Trodde du ville være å leve i et Microsoft Office-frie verden innen 2011? Med mindre du er i en Linux-eneste butikken som gjør forretninger bare med andre Linux-bare butikker, sjansene er at drømmen er fortsatt noen år unna, og du har fortsatt å dra ut et kontor fil konverter med jevne mellomrom. Problemet er at hver fri programvare kontorpakke har sin egen, og de varierer i sine evner. Skriv inn DocVert, en verdig GPLv3-lisensiert verktøy for å holde på klar, takket være sitt valg av kli- og web-basert grensesnitt alternativer, og den fleksible utgang formatering.

DocVert faktisk startet som en web-applikasjon tilbake i 2004, og fikk en viss suksess i denne form. Brukere kan laste opp et tekstbehandlingsprogram fil, traff konvertere knappen, og få riktig formatert HTML tilbake på kort tid. Hvis du tror du arbeider med doc-filer i Abiword eller Libreoffice er smertefullt, bare spør en webutvikler, hvorav mange fortsatt må forholde seg regelmessig med kunder som leverer innhold i DOC-format. Free Software kontorprogrammer tilbyr ikke mye i veien for Web-sentriske konverteringsverktøy, og gjenskape innholdet for hånd er en kolossal smerte.

Utvikling fortsatte på et relativt jevnt tempo for de neste årene, med nye funksjoner legges trinnvis og oppdateringer for å matche formatendringene. Men i mars 2011, foretok vedlikehold Matthew Holloway en fullstendig revisjon, omskrivninger kjernen i Python alene, uten noen PHP avhengigheter. Resultatet av arbeidet er 5.x serien, som kan kjøres som en webtjeneste, eller tilgang på kommandolinjen.

Oppsett

Programmet bruker XSLT til å transformere dokumenter fra ett form til en annen, med en distinkt " rørledning " for hver dokumenttype ønsket – Libreoffice ODT, HTML, vanlig XML, selv DocBook. Den nyeste utgaven er versjon 5.1, som falt 16. august 2011. Det er i hovedsak en bugfix utgivelse, inkludert forbedret håndtering av interne lenker som fotnoter.

Du kan laste ned utgivelsen som en tarball fra prosjektets Web stedet, eller du kan ta tak i kilden fra prosjektets Git repository og plukke opp flere nye endringer. I en e-postutveksling, fortalte Holloway meg at direkte ODT utgang støttes bare i Git versjonen, så det er det jeg lastet ned. Det bør være klar for 5.2 utgivelse i september. Fordi programmet er skrevet i Python, er det ingen installasjonsprosessen er nødvendig, men du må passe på at du manuelt oppfylle avhengigheter. DocVert krever Python 2.6, de LXML og pdf2svg pakker, og Python-UNO bibliotek.

UNO (Universal Network Objects) er den runtime biblioteket som tilbys av OpenOffice.org og Libreoffice. DocVert bruker den til å ringe interne konvertering rutiner de programmets. Hvis du er usikker på hvilken å installere, er det tryggere alternativ til å gå med Libreoffice versjon. Holloway bruker Libreoffice for utvikling, og Openoffice støtte kunne gå unna i fremtiden.

Bruks

Fra kommandolinjen, cd til katalogen der du lastet ned DocVert og type python ./docvert -cli.py --list-rørledninger. Dette vil returnere en liste over alle tilgjengelige konverterings rørledninger, som har enkle navn som " DocBook, " " åpent dokument, " og " webstandarder. " Du kan konvertere et enkelt dokument med python ./docvert-cli.py -pipeline pipelineName
inputFile.DOC
. DocVert vil generere output (enten i en enkelt fil for ODT eller i en mappe for HTML) og rapportere tilbake navnet sitt på stdout

". Grunnleggende " og " webstandarder " rørledninger er begge brukes for HTML-utgang. Basic har bare mer avslappet HTML formateringsregler. Hvis du er interessert i HTML-utgang, kan du også legge til --autopipeline argument til din kommando, som spesifiserer en av de medfølgende temaene etterpå. Den gjeldende versjonen inkluderer to:. En som skaper en eneste lang side som utgang, og en som bryter opp dokumentet i flere HTML-sider, atskilt på overskriftene funnet inne dokumentet

For single-fil bruk, denne metoden fungerer bra, og du kan bruke den til å teste DocVert kompatibilitet med vill-og-gal kompleksiteten i den virkelige verden Word-dokumenter. DocVert støtter ikke bare de grunnleggende formatering du kan finne i en enkel bokstav eller papir, men komplekse strukturer også, inkludert innebygde bilder, tabeller, nestede lister og fotnoter.

Men hvis du trenger å konvertere en stor samling av dokumenter, kan du finne webtjenesten påkalling raskere. Du starter DocVert i denne modusen med python ./docvert-web.py -p portnummer
. Hvis du la av portnummer, vil DocVert standard til port 8080, kjører på localhost. Web UI kan du velge en rørledning og laste opp en fil, og den returnerer den konverterte utgang til deg i en zip-fil.

Men den virkelige fordelen av Web-modus er at den implementerer et komplett REST API. Skriptet svarer på HTTP innlegg som inneholder tekstbehandlingsdokumenter, og sender en ZIP-fil som svar. Det gjør grensesnittet prosedyre, og i de fleste tilfeller lettere enn kommandolinjeverktøyet. Hvis du ikke er klar til å installere og kjøre web-versjonen selv, kan du også teste ut prosjektets live demo på nettsiden.

Hvordan Magic Works

Jeg testet DocVert på gamle Word doc-filer fra e-post og diverse filer fra HR-avdelinger (ingen av mine virkelige medarbeidere har sendt meg en .doc-fil i år). Jeg var ikke i stand til å reise den opp, selv om det er verdt å merke seg at DocVert ikke forsøke å fange og gjengi de visuelle funksjonene i dokumentet, som koder for den eksakte skriften som brukes.

Den smarte biten er at i 99,9 prosent av tilfellene, er det helt greit. Du sjelden eller aldri
å bevare skrift eller margen, eller andre Word-spesifikke markup funksjoner, og det er akkurat de elementene som forårsaker mest Word Doc til HTML-omformere for å produsere slike skremmende-dårlig HTML utgang. DocVert derimot konverterer dokumentet til en mellommann format som bevarer sin overordnede strukturen: overskrifter, relative posisjonering, innrykk, og så videre. Den bruker da XSLT til å transformere mellom mellommann format og den valgte endelige resultatet, i en ren og forutsigbar måte.

Faktisk, hvis du vet XML og XSLT, du kan til og med skrive dine egne transformasjoner. Et godt sted å begynne er med å studere de rørledninger som leveres i DocVert 5.1. For øyeblikket, på grunn av den omskrive, er det bare en grunnleggende oversikt over utgangsformater og variasjoner som følger. Men Holloway melder at overgangen til ren Python utgjør en 300% hastighetsøkning i forhold til den blandede Python /PHP versjon før, som er verdt det i min vurdering.

Forvent flere rørledninger til å komme som 5.x serien modnes; tidligere versjoner av programmet støttet et bredt spekter av utganger, inkludert S5 HTML lysbildeserier, og selv en " reversere " HTML-to-Opendocument transformasjon, som Holloway beskriver som et verktøy for å hjelpe deg med å overføre innhold ut av en dårlig arv CMS. Kort sagt, hvis det kan være representert i XML, er DocVert i stand til å konsumere det, og til å generere den. Anmeldelser