leePDF.cpp

Ir a la documentaciĆ³n de este archivo.
00001 // vim: set expandtab tabstop=8 shiftwidth=8 foldmethod=marker:
00014 #include <sys/types.h>
00015 #include <sys/stat.h>
00016 #include <stdlib.h>
00017 #include <stdio.h>
00018 #include <err.h>
00019 #include <string>
00020 #include <iostream>
00021 #include <fstream>
00022 #include <unistd.h>
00023 
00024 #include "NodoTrieS.hpp"
00025 #include "leePDF.hpp"
00026 
00027 using namespace std;
00028 
00030 void leePDF(const char *na, long ndoc, NodoTrieS &t, bool normalizaPal)
00031 throw(std::string)
00032 {
00033         ASSERT(na != NULL && na[0] != '\0' && strlen(na) < FILENAME_MAX);
00034         ASSERT(ndoc >= 0);
00035 
00036         //clog << "OJO leePDF(" << na << ", " << ndoc << ", t, " << normalizaPal << ")" << endl;
00037 
00038         string dt = directorio_temp();
00039         //clog << "OJO dt = " << dt << endl;
00040         string ns = dt + string("/salidapdftotext.txt");
00041         //clog << "OJO ns = " << ns << endl;
00042         string cmd = string("pdftotext ") + na + string(" ") + ns;
00043         //clog << "OJO cmd = " << cmd << endl;
00044         int rc = system(cmd.c_str());
00045         if (rc != 0) {
00046                 stringstream ss;
00047                 ss << "No puedo indexarse " << na;
00048                 throw ss.str();
00049         }
00050         leeTexto(ns.c_str(), ndoc, t, normalizaPal);
00051         unlink(ns.c_str());
00052         rmdir(dt.c_str());
00053 }
00054 

Generado el Wed Jan 6 06:58:22 2010 para Mt77 por  doxygen 1.5.4