Toon posts:

[Linux Converter utils] Word format naar TIF

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben aan het rondkijken voor een oplossing (met Linux) om 8000 Word documenten, 167.000 pagina's om te zetten naar .TIF files.

Een .TIF per pagina. Dus ik kom op zo'n 167.000 .TIF files. Niet iets wat je handmatig wilt gaan doen.

"WV" komt flink in de buurt. Met WV kan ik commandline based van Word documenten omzetten naar .PDF files. Helaas niet naar TIF of PNG of BMP of een soortgelijk formaat (voorzover ik tot nu toe heb gezien).

Ik ga Acrobat 5 downloaden om te testen of ik daarmee (ik las dat het kon) de .PDF files kan omzetten naar multiple TIF. (ik moet nog 31 uur wachten voordat ik Acrobat binnen heb:) Waarschijnlijk kan Acrobat slechts per keer 1 .PDF file inlezen en dan via menu save as ofzo naar .TIF files.

Niet echt een oplossing dus gezien de grote hoeveelheid die omgezet moet worden.

Kent iemand een Linux utillity(s) die me toelaten om zo handig mogelijk 167.000 .TIF files te creeren uit 8000 Word documenten? Het mag best iets zijn als 'WV input.doc output.PDF | XX input.PDF output.TIF" ofzo. Het hoeft dus niet wat mij betreft met dezelfde utillity in 1 keer.

[ Voor 3% gewijzigd door Verwijderd op 30-11-2002 14:11 ]


Verwijderd

Geen idee of dit vlot gaat, maar het kan in elk geval als volgt:
pdftopbm pdfje.pdf pagina
en nu voor elke pagina-*.pbm
anytopnm pagina-001.pbm > pagina-001.pnm
pnmtotiff pagina-001.png > pagina001.tiff

Verwijderd

Topicstarter
Verwijderd schreef op 30 November 2002 @ 15:21:
Geen idee of dit vlot gaat, maar het kan in elk geval als volgt:
pdftopbm pdfje.pdf pagina
en nu voor elke pagina-*.pbm
anytopnm pagina-001.pbm > pagina-001.pnm
pnmtotiff pagina-001.png > pagina001.tiff
Gaat niet erg vlot inderdaaad maar dat geeft niet. De afbeelding kwaliteit van het resultaat is goed, zelfs beter dan ik durfde te hopen.

(ik was zelf net een poos bezig geweest met ImageMagick trouwens. Maar dit geeft me steeds een terminate na een hele tijd. 'convert -format tiff input.pdf output.tiff'.)

Nou ja maakt niet uit. Jouw oplossing is goed genoeg. Ik had zelfs nog nooit gehoord van pdftopbm en anytopnm of pnmtotiff, dus bedankt. Dit ga ik zeer binnenkort gebruiken.

[ Voor 3% gewijzigd door Verwijderd op 30-11-2002 16:30 ]


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15-05 13:11

deadinspace

The what goes where now?

Er zijn ook nog de pdf2ps en dan de ps2vanalles tools, en natuurlijk gs (ghostscript), een hele bekende postscript renderer.

Is het btw niet handig om png of jpeg te kiezen als uiteindelijke formaat? Lijkt me wat handelbaarder dan de (doorgaans grote) tiff files.

  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Verwijderd schreef op 30 november 2002 @ 15:21:
Geen idee of dit vlot gaat, maar het kan in elk geval als volgt:
pdftopbm pdfje.pdf pagina
en nu voor elke pagina-*.pbm
anytopnm pagina-001.pbm > pagina-001.pnm
pnmtotiff pagina-001.png > pagina001.tiff
Misschien handiger om mogrify te gebruiken voor omzetting pbm -> tiff.
code:
1
mogrify -format tiff  *.pbm

PS Het portable-bit-map formaat is zwart-wit dus kleurtjes (tekst, plaatjes) raak je kwijt. En verder gebruikt ImageMagick de libtiff library die standaard geen (windows compatible) compressie meer ondersteund wat de plaatjes nogal groot maakt.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • mocean
  • Registratie: November 2000
  • Laatst online: 30-03 18:32
Mag ik vragen waarvoor je dit wilt doen? Als het eenmalig is maak het niet uit dat het lang duurt, maar als het vaker moet gebeuren (bij aanpassen van Word-docs of zo) dan speelt de snelheid we mee.

Koop of verkoop je webshop: ecquisition.com


Verwijderd

Topicstarter
Ik neem de andere tips in dit topic morgen nog even mee om te proberen maar in wezen ben ik al waar ik wil zijn. In antwoord op de vragen. Waarom tiff en waarom ik dit wil doen.

Ik heb voor mn werk een notes databases met Word attachements. Deze moeten er allemaal uit. Middels Perl maak ik een soort beschrijving bestand per formulier en 1 of meerdere attachments. De attachements worden allemaal omgezet naar tiff files en het geheel wordt daarna in een archivering management system ingelezen. Het gaat dus puur om een eenmalige aktie namelijk opruimen van die Lotus Notes database. Gezien doe hoeveelheid werk is het handmatig echt niet te doen. Met de oplossingen van hierboven ben ik al zo goed als klaar om het geautomatiseerd te kunnen doen. Dat de omzetting tijdrovend werkt is niet erg in dit geval.

Ik ga morgen verder met een opzetje. Eerst ff relaxen nu :)

  • A_L
  • Registratie: Juni 2001
  • Niet online

A_L

Hier een klein bash-scriptje dat gebruik maakt van AntiWord ipv met wv.
Heb het getest met 3 word-files. :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash

#converteren naar PostScript mbv. AntiWord
for file in *.doc
do
    antiword -p a4 -i 0 "$file" > "$file".ps
done

#Van postscript naar een stapel .pnm-files
for file in *.ps
do
    pstopnm "$file"
done

rm *.ps

#ppm naar tiff.
for file in *.ppm
do
    pnmtotiff "$file" > "$file".tiff
done

rm *.ppm

exit 0

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Verwijderd schreef op 30 November 2002 @ 17:49:Waarom tiff en waarom ik dit wil doen.

uitleg
Eh.. Nu verklaar je nog steeds niet waarom je perse tiff files wilt hebben hoor ;)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Topicstarter
moto-moi schreef op 30 november 2002 @ 19:42:
[...]

Eh.. Nu verklaar je nog steeds niet waarom je perse tiff files wilt hebben hoor ;)
Allereerst A_L bedankt voor je tip + bash script met antiword. Weer wat geleerd ik dacht dat antiword alleen maar text files maakte. Ik had er al vluchtig naar gezien. Ik ga morgen alle alternatieven even doorlopen met een testje op speed c.q. gebruikersgemak.

moto-moi: Ja sorry, ik dacht dat het wel redelijk duidelijk was. Het komt erop neer dat (ik werk in een groot bedrijf) ergens zo'n archivering systeem van ons staat en dan moet je gewoon aanleveren als TIF. Normaal gesproken gaat onze output automatisch vanaf een AS400 dagelijks inclusief description files en de hele meut geautomatiseerd het archivering systeem in (documenten ook als TIF). Dat systeem is dus niet echt van onszelf. Ik moet me gewoon houden aan hoe zij het geleverd willen zien. Uiteindelijk is de hele operatie nogal complex aangezien ik met diverse partijen bezig ben en iedereen weet slechts een heel klein stukje van het geheel dus ik heb al 4 dagen verspild met informatie achterhalen. Maar never mind. Ik begin nu meters te maken en langzamerhand inzicht te krijgen in hoe het precies moet gebeuren.

Het is verder niet echt boeiend voor jullie maar misschien wel grappig om te horen dat ze eerst die 8.000 documenten wilden laten openen door stagaires en dan printen (ik schat 167.000 pagina's als het al niet meer is) en dan handmatig door een scanner halen, opslaan in juiste directories (naamgeving) en handmatig description files wilden neerzetten. Zo'n description file beschrijft de aard van de files, index zoekwoorden e.d. Als je even nagaat dat een pak papier meestal 500 vel is en een doos papier is 4 x 500 vel dan heb je ongeveer een indruk hoe een papier stapel dit zou worden :)

Kortom ik dacht laat mij daar eens even naar zien. Ik had al vrij snel een algemene opzet klaar om het geheel geautomatiseerd te doen. Ik heb zo'n 2 uur daadwerkelijk er naar gezien en ik ben al zo goed als klaar. Zoals gezegd 4 dagen alleen maar bezig geweest om informatie bij elkaar te harken. Dit laatst is nog niet klaar. Je praat dan bijvoorbeeld met mensen die wel verstand van de inhoud van de documenten hebben (wat ik niet heb) maar compleet geen IT kennis dus allerlei verwarrende verhalen ophangen. Daarnaast heb ik telefonisch overleg gehad met de beheerders van het archiveringsysteem en is me al gebleken dat van het systeem wel veel weten maar ook van IT of kennis van handige tools geen enkele kennis hebben.

Anyway het vlot wel! :)

  • Zpottr
  • Registratie: Mei 2000
  • Niet online

Zpottr

Henk

Verwijderd schreef op 30 november 2002 @ 21:53:
Het is verder niet echt boeiend voor jullie maar misschien wel grappig om te horen dat ze eerst die 8.000 documenten wilden laten openen door stagaires en dan printen (ik schat 167.000 pagina's als het al niet meer is) en dan handmatig door een scanner halen, opslaan in juiste directories (naamgeving) en handmatig description files wilden neerzetten. Zo'n description file beschrijft de aard van de files, index zoekwoorden e.d. Als je even nagaat dat een pak papier meestal 500 vel is en een doos papier is 4 x 500 vel dan heb je ongeveer een indruk hoe een papier stapel dit zou worden :)
Haha, LOL :D :D

Ben wel benieuwd wat je uiteindelijk gaat gebruiken.

Zoef


Verwijderd

convert van Imagemagick zou het toch moeten doen, na evt. even goochelen met de opties (met name -density en/of -depth :-) Ik zou het via PostScript doen. WV dus voor Word->PostScript, en dan ImageMagick voor PostScript->tiff. Let vooral ff op de -density en -depth opties :-)

Verwijderd

Topicstarter
Verwijderd schreef op 30 November 2002 @ 23:37:
convert van Imagemagick zou het toch moeten doen, na evt. even goochelen met de opties (met name -density en/of -depth :-) Ik zou het via PostScript doen. WV dus voor Word->PostScript, en dan ImageMagick voor PostScript->tiff. Let vooral ff op de -density en -depth opties :-)
Ik ga er morgen nog even naar zien. Ik heb op mn werk al een compleet perl script. Morgen ga ik even een paar sub routines maken en dan maak ik van alle opties die genoemd zijn een eigen sub routine om zo eens even te spelen met allerlei mogelijke opties. De beste sub of misschien wel allemaal (altijd handig om te hebben voor later) bewaar ik gewoon. ImageMagick met wv zou de truuk inderdaad vrij simpel moeten kunenn doen.

Uiteindelijk maakt het trouwens mij niet zoveel uit als het resultaat maar goed is. Of het nu binnen 1 uur klaar is of een hele dag duurt voordat alles geconverteerd is maar just for fun lijkt het me wel leuk om wat verschillende dingen te proberen. ImageMagick lijkt mij ook zeer ok, het aantal opties is echter enorm, dus dat word even flink de man pages lezen. Ik zal extra letten op density en depth :)

Bedankt.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15-05 13:11

deadinspace

The what goes where now?

Verwijderd schreef op 01 december 2002 @ 00:28:
Of het nu binnen 1 uur klaar is of een hele dag duurt voordat alles geconverteerd is maar just for fun lijkt het me wel leuk om wat verschillende dingen te proberen.
167,000 in 1 dag betekent dat je twee tiffs per seconde moet uitspugen... Dat lijkt me wat optimistisch ;)

Verwijderd

Topicstarter
deadinspace schreef op 01 December 2002 @ 00:56:
[...]

167,000 in 1 dag betekent dat je twee tiffs per seconde moet uitspugen... Dat lijkt me wat optimistisch ;)
Inderdaad, dat gaat niet lukken met mn P500 :) Ik ben eigenlijk wel benieuwd hoeveel seconden mn machine over 1 tiff gaat doen. Ik schat toch wel in de orde van 3 a 5 seconden en misschien zelfs wel langer dus dat wordt dan nog wat.

Maar goed ik bedoelde eigenlijk dat het me wezenlijk niet uitmaakt. Het is toch maar 1 x en als het eenmaal lekker loopt heb je er toch geen omkijken meer naar. Het is ook geen haastklus ofzo.

Ik ben in ieder geval al lang tevreden dat het resultaat met Linux zo goed gaat. Ik heb vandaag een stuk of wat Windows progjes uitgeprobeerd maar zo lekker commandline based als met Linux progjes werkt dat toch niet, plus allerlei shareware geneuzel :)

  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Reken ook even uit hoeveel ruimte die tiffjes gaan innemen inclusief eventuele tussen bestanden.

Zonde als het conversie proces halverwege afbreekt omdat de partitie vol is.

167.000 tiffjes gaat aardig wat ruimte innemen, zelfs met compresie :)

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


Verwijderd

Topicstarter
Ik heb een test opzetje gemaakt voor benchmarking De benchmark code werkt echter niet. Voor de rest is de code nog niet helemaal af zo links en rechts en heb ik nog geen tijd gehad om eens goed voor ImageMagick zijn settings te gaan zitten. etc. etc. anyway ik dacht ik post het maar even misschien heeft iemand nog een flauw vermoeden waarom die benchmark het niet doet. Verder heb ik voorvast een gevoelsmatige snelheid en kwaliteit opgeschreven. Zoals ik het nu zie werkt die mogrify sub het allerbeste en snelste. Ik heb trouwens ook nog niet op filesize gelet. Hmm nog maar even doen zodadelijk dan. Eerst koffie :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#/usr/bin/perl
#man Benchmark
use Benchmark;

#if ($^O eq 'Linux') { $slash='/'; } else { $slash='\\'; }


#debugging purpose
chdir ('/home/smasr/image');


$count = 1;
$t=timethis($count,pnmtotiff());
print "$count loops pnmtotiff:",timestr($t),"\n";
#mogrify();
#antiword();
#imagemagick();
ruimop();

sub pnmtotiff {
    #kwaliteit is goed, snelheid houd niet over.
    print "started pmntotiff\n";
    @docs=glob('*.doc');
    foreach $document (@docs) {
        ($doc)=$document=~/^(.*)\..*$/;
        system("wvPDF $doc.doc $doc.pdf &>/dev/null");
        system("pdftopbm $doc.pdf $doc &>/dev/null");
    }
    @paginas=glob('*.pbm');
    foreach $pagina (@paginas) {
        ($pag)=$pagina=~/^($doc-\d+).*$/;
        system("anytopnm $pag.pbm > $pag.pnm");
        system("pnmtotiff $pag.pnm > $pag.tiff");
    }
    print "stopped pmntotiff\n";
}




sub mogrify {
    #kwaliteit is goed snelheid is redelijk.
    print "started mogrify\n";
    @docs=glob('*.doc');
    foreach $document (@docs) {
        ($doc)=$document=~/^(.*)\..*$/;
        system("wvPDF $doc.doc $doc.pdf &>/dev/null");
        system("pdftopbm $doc.pdf $doc &>/dev/null");
    }
    system("mogrify -format tiff *.pbm &>/dev/null");
    print "stopped mogrify\n";

}


sub antiword {
    #kwaliteit is slecht. snelheid is prima
    print "started antiword\n";
    @docs=glob('*.doc');
    foreach $document (@docs) {
        ($doc)=$document=~/^(.*)\..*$/;
        system("antiword -p a4 -i 0 $doc.doc > $doc.ps");
        system("pstopnm $doc.ps");
    }
    @paginas=glob('*.ppm');
    foreach $pagina (@paginas) {
        ($pag)=$pagina=~/^($doc\d+).*$/;
        system("pnmtotiff $pag.ppm > $pag.tiff");
    }

    print "stopped antiword\n";
}

sub imagemagick {
    #kwaliteit is nog niet zo goed. Settings? snelheid is hmmm toch wat
    #trager dan verwacht gezien de kwaliteit.
    print "started imagemagick\n";
    @docs=glob('*.doc');
    foreach $document (@docs) {
        ($doc)=$document=~/^(.*)\..*$/;
        system("wvPS $doc.doc $doc.ps");
        system("convert -density 156x156 $doc.ps $doc.tiff");
    }
    print "stopped imagemagick\n";
}


sub ruimop {
    $opruim=`rm /home/smasr/image/*.log &>/dev/null`;
    $opruim=`rm /home/smasr/image/*.aux &>/dev/null`;
    $opruim=`rm /home/smasr/image/*.tex &>/dev/null`;
    $opruim=`rm /home/smasr/image/*.pbm &>/dev/null`;
    $opruim=`rm /home/smasr/image/*.pnm &>/dev/null`;
    $opruim=`rm /home/smasr/image/*.pdf &>/dev/null`;
}

Verwijderd

Topicstarter
Ok het werkt zo ongeveer. Dit is best geinig trouwens. Hier is het resultaat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Benchmark: timing 1 iterations of antiword, imagemagick, mogrify, pmntotiff...
started antiword
stopped antiword
  antiword:  2 wallclock secs ( 0.01 usr  0.01 sys +  1.37 cusr  0.13 csys =  1.52 CPU) @ 50.00/s (n=1)
            (warning: too few iterations for a reliable count)
started imagemagick
stopped imagemagick
imagemagick:  7 wallclock secs ( 0.00 usr  0.02 sys +  6.21 cusr  0.69 csys =  6.92 CPU) @ 50.00/s (n=1)
            (warning: too few iterations for a reliable count)
started mogrify
stopped mogrify
   mogrify:  6 wallclock secs ( 0.00 usr  0.00 sys +  4.04 cusr  0.68 csys =  4.72 CPU)
            (warning: too few iterations for a reliable count)
started pmntotiff
stopped pmntotiff
 pmntotiff:  7 wallclock secs ( 0.01 usr  0.00 sys +  4.08 cusr  0.72 csys =  4.81 CPU) @ 100.00/s (n=1)
            (warning: too few iterations for a reliable count)

smasr@box:~/image$



En tot slot van de testen de file grootte, kwaliteit en wallclock:
(ik ga voor de mogrify sub routine maar ik ga nog wat spelen met ImageMagick-convert voor alle zekerheid). Ik stop nu trouwens met spammen. Ik wilde jullie nog even het complete resultaat laten weten van de test. Opmerkingen hoe het nog sneller of beter kan zijn altijd welkom. Ik pruts zelf ook nog wel wat door voor de lol.

sub pnmtotiff {
#kwaliteit: 6
#tiff grootte is: 272kb
#snelheid van subroutine: 6 wallclock
sub mogrify {
#kwaliteit: 7
#tiff grootte is [gemiddeld]: 22kb
#snelheid van subroutine: 7 wallclock
sub antiword {
#kwaliteit: 3
#tiff grootte is: 438kb
#snelheid van subroutine: 2 wallclock
sub imagemagick {
#kwaliteit: 6
#tiff grootte is: 7MB en 3 tiffjes in 1 file
#snelheid van subroutine: 9 wallclock

[ Voor 31% gewijzigd door Verwijderd op 01-12-2002 13:24 ]

Pagina: 1