Dator > hur man använder perl för att söka en pdf doc

  • hur man använder perl för att söka en pdf doc


  • Perl -skript " krypa " på nätet , siktning genom havet av HTML-sidor för information , och oundvikligen möta några av de miljontals Adobe Acrobat PDF -filer stänkte över Internet . Även om de är redo att skriva ut och attraktiva ur synvinkel av en sökrobot , PDF-filer är en något svårare nöt att knäcka än enkel , textbaserad HTML-sidor . Lyckligtvis , som med många web uppgifter , det finns en Perl -modul som kan göra livet lättare : CAM : : PDF . Detta programming interface , men mestadels avsedda att skapa och manipulera PDF -filer , har några verktyg som gör att skript för att söka deras innehåll .

    Du behöver :
    Perl skriptmiljö
    . CAM : : PDF Perl -modul
    . Text eller kod redaktör .
    PDF -fil


    1
    Installera CAM : . : PDF . CPAN verktyget tillhandahåller det enklaste sättet att göra detta-starta cpan på kommandoraden och vid prompten , skriv " installera CAM : : PDF " . (utan citattecken)
    2
    Öppna en editor och starta skriptet in följande rader för att starta Perl tolk och importera de nödvändiga modulen :

    # /usr /bin /perl
    använda CAM : : PDF ,
    Tillsätt nästa två rader process kommandoradsargumenten att användaren kommer att passera i :

    min $ file=skift ,
    min $ search=skift ,

    Det första argumentet som skickas till skriptet kommer att vara namnet på en PDF -fil , och det andra, söksträngen . .
    3
    Skapa en ny CAM : : PDF objekt genom att lägga till följande rad i skriptet :

    min $ doc=CAM : : PDF-> nya ( $ fil ) ;

    av de importerade modulens NumPages metod för att definiera den övre gränsen , skapa en slinga för att behandla varje sida i dokumentet :

    foreach min $ p ( ( 1 . . $ doc-> NumPages ()))
    {
    4 .
    inom Loopen , lägga till den här raden för att få varje sida av text från PDF- filen :

    min $ str=$ doc-> getPageText ( $ p ) ,

    Tillsätt nästa manus uttalande att dela upp sidans text upp i en matris av separata rader :

    @ lines=split ( /\ n /, $ str ) ;

    Avsluta loopen uttalande genom att ange en avslutande haken :

    }

    5 .
    slutligen lägga till en loop till skriptet att bearbeta varje rad på sidan och söka en match för användarens söksträngen som ett reguljärt uttryck . Om det vanliga uttrycket returnerar en match , skriver detta exempel linjen och sidnummer till stdout . I stället för dessa skriva uttalanden , bör du genomföra koden för att bearbeta resultatet som behövs .

    min $ i=0 ;
    foreach $ line ( @ linjer )
    {
    + + $ i ;
    if ( $ rad=~ /$ sökning /)
    {
    print " \ " $ sökning \ " hittades i linje $ i på sidan $ p \ n ";
    print " $ rad \ n \ n "
    } }

    tips och varningar


  • eftersom texten i PDF- filer inte är hierarkiskt organiserade så att HTML- filer , kommer du sannolikt behöva att konstruera skript för att söka vissa typer av PDF -filer ( e. g. former , bulletiner , scheman ) . Det kan inte vara möjligt att skriva ett robust Perlskript som effektivt kan söka alla typer av PDF -fil .

Previous:nothing Next:hur man skapar en värdegrund





Relaterade artiklar


  • hur man får systemet datum från python
  • hur man använder perl för att söka en pdf doc
  • Vad är JavaScript ogiltigt ?
  • roll underhåll av programvara
  • hur man bygger en server databas på Internet
  • Var kan jag återvinna hårdvara?
  • Hur konvertera en sträng datum till ett datum
  • hur man använder Visual C + + debugger
  • mjukvaruutveckling samarbetsverktyg
  • hur man gör en Pirc bot