00001
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
00037
00038 string dt = directorio_temp();
00039
00040 string ns = dt + string("/salidapdftotext.txt");
00041
00042 string cmd = string("pdftotext ") + na + string(" ") + ns;
00043
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