fs.readFile(root + 'test-input' + i + '.pdf', (err, data) => {
				let parse = new PDFParser();
				parse.on("pdfParser_dataError", err => { throw err	});
				parse.on("pdfParser_dataReady", d => {
					source = pdfToHtml.parse(d);
					if (--pending == 0) { expect(source).equals(target); done(); }
				});
				parse.parseBuffer(data);
			});
var processData = function(cb) {

	var pdfParser = new PDFParser();

	var _onPFBinDataReady = function(pdf) {
		var list = '';
		console.log('processing ' + pdf.data.Pages.length + ' pages of vacants');
		for (var x = 0; x < pdf.data.Pages.length; x++) {
			console.log('on page ' + x);
			var texts = pdf.data.Pages[x].Texts;
			//console.log(texts);
			var l = 0;

			pdf.data.Pages[x].Texts.forEach(function(text, i) {
				var prop = {};
				//console.log(text.R);
				var val = unescape(text.R[0].T).trim();
				//console.log(val);
				//console.log(val);
				if (x == 0 && l == 3) {
					list = val;
					console.log(list);
				}

				if (helpers.isAddress(val)) {
					prop.address = val;
					prop.id = helpers.getId(texts, i);
					prop.block = helpers.getBlock(texts, i);
					prop.lot = helpers.getLot(texts, i);
					prop.zip = helpers.getZip(texts, i);
					prop.neighborhood = helpers.getNeighborhood(texts, i);
					prop.zoning = helpers.getZoning(texts, i);
					prop.type = helpers.getType(texts, i);
					prop.price = helpers.getPrice(texts, i);
					prop.date = new Date(list);
					queue.push(prop);
				}
				l++;
			});
		}
		console.log(queue.length);
		cb(queue);
	};

	var _onPFBinDataError = function() {
		console.log(arguments);
	};

	pdfParser.on("pdfParser_dataReady", _.bind(_onPFBinDataReady, this));

	pdfParser.on("pdfParser_dataError", _.bind(_onPFBinDataError, this));

	var pdfFilePath = salesPdf;

	pdfParser.loadPDF(pdfFilePath);

};
Beispiel #3
0
PdfReader.prototype.parseBuffer = function(pdfBuffer, itemHandler){
  itemHandler(null, { file: { buffer: pdfBuffer }});
  var pdfParser = new PFParser();
  pdfParser.on("pdfParser_dataError", itemHandler);
  pdfParser.on("pdfParser_dataReady", function (pdfData){
    forEachItem(pdfData, itemHandler);
  });
  var verbosity = this.options.debug ? 1 : 0;
  pdfParser.parseBuffer(pdfBuffer, verbosity);
};
Beispiel #4
0
PdfReader.prototype.parseFileItems = function(pdfFilePath, itemHandler){
  itemHandler(null, { file: { path: pdfFilePath }});
  var pdfParser = new PFParser();
  pdfParser.on("pdfParser_dataError", itemHandler);
  pdfParser.on("pdfParser_dataReady", function (pdfData){
    forEachItem(pdfData, itemHandler);
  });
  var verbosity = this.options.debug ? 1 : 0;
  pdfParser.loadPDF(pdfFilePath, verbosity);
};
Beispiel #5
0
 PDF.prototype.parseText = function (path, callback) {
     var callback_success = function (result) {
         callback(null, result.data);
     };
     var callback_error = function (err) {
         callback(err);
     };
     var pdfParser = new PDFParser();
     pdfParser.on("pdfParser_dataReady", callback_success.bind(this));
     pdfParser.on("pdfParser_dataError", callback_error.bind(this));
     pdfParser.loadPDF(path);
     // TODO: implement as stream
     // or call directly with buffer
     //fs.readFile(pdfFilePath, function (err, pdfBuffer) {
     //    if (!err) {
     //        pdfParser.parseBuffer(pdfBuffer);
     //    }
     //})
 };
Beispiel #6
0
module.exports = function (inPath) {
    const parser = new PDFParser()
    const basename = path.basename(inPath, '.pdf')
    const outPath = `output/${basename}.json`

    parser.on('pdfParser_dataReady', data => {
        fs.writeFile(outPath, JSON.stringify(parse(data)))
    })

    parser.loadPDF(inPath)
}
	Q.all(url_linhas).spread(function () {
		associacao.linhas = [];

		pdfParserLinha1.parseBuffer(arguments[0]);
		pdfParserLinha1.on("pdfParser_dataReady", function(domain) {
			this.linha.coordenador = getCoordenador();
			this.linha.ida = getItinerario(this.arrPosIda, domain);
			this.linha.volta = getItinerario(this.arrPosVolta, domain);
			associacao.linhas.push(this.linha);
		});

		pdfParserLinha2.parseBuffer(arguments[1]);
		pdfParserLinha2.on("pdfParser_dataReady", function(domain) {
			this.linha.coordenador = getCoordenador();
			this.linha.ida = getItinerario(this.arrPosIda, domain);
			this.linha.volta = getItinerario(this.arrPosVolta, domain);
			associacao.linhas.push(this.linha);
			fn(associacao);
		});

	}).done(function () {
Beispiel #8
0
  parse: function(date) {
    var self = this
    this.date = date
    this.pdfId = 'cfs' + date
    var pdfFilePath = __dirname + "/../data/" + this.pdfId + ".pdf";
    var pdfParser = new PDFParser()
    pdfParser.on("pdfParser_dataReady", function(data) {
      var pages = data.data.Pages
      var result = []
      pages.forEach(function(page) {
        var r = self.readPage(page)
        result = result.concat(r)
      })
      fs.writeFileSync(__dirname + "/../data/" + self.pdfId + '.json', JSON.stringify(result))
      //self.geocode(_.first(result, 3))
      self.geocode(result)
    })

    pdfParser.on("pdfParser_dataError", function(err) {
      console.log('err', err)
    })

    pdfParser.loadPDF(pdfFilePath)
  },
var download = function(url, cb) {
	var pdfParser = new PDFParser();
	pdfParser.on("pdfParser_dataReady", processPdf);

	var responseData = [];
  var request = http.get(url, function(response) {
		if(response.statusCode === 200) {
			console.log("File Downloaded");
			response.on('data', function(chunk) {
				responseData.push(chunk);
			});
			response.on('end', function() {
	  		var buffer = Buffer.concat(responseData);
				pdfParser.parseBuffer(buffer);
			});
		} else {
			console.log("Error getting file");
			counter = 100;
			next();
		}
  });
}
		load(url, buffer => {
			let parse = new PDFParser();
			parse.on("pdfParser_dataError", err => { console.error(err.parserError); });
			parse.on("pdfParser_dataReady", data => { callback(pdfToHtml(data)); });
			parse.parseBuffer(buffer);
		});
 var p = new Promise(function(resolve, reject) {
   parser.on("pdfParser_dataReady", function(doc) {
     return resolve(doc.data.Pages);
   });
   parser.on("pdfParser_dataError", reject);
 });
        form.parse(req, function(err, fields, files) {
            if (err)
                res.send({reason: "Não foi possível processar o arquivo enviado."});

            pdfParser.loadPDF(files.radoc.path);
            pdfParser.on('pdfParser_dataReady', function(pdf) {
                if (radocParse.isRadoc(pdf)){
                    User.findOne({_id: userId}).exec(function(err, userDoc){
                        if (err){
                            res.send({reason: "Ocorreu um erro, tente novamente."});
                        }
                        else{
                            var parsedRadoc = radocParse.parse(pdf);
                            parsedRadoc.idUsuario = userId;
                            if (parsedRadoc["Dados do docente"][0]["Matrícula SIAPE:"] !== userDoc.matricula){
                                res.send({reason: "A matrícula que consta no radoc é diferente do usuário selecionado."});
                            }
                            else{
            					uploadMover.moveUpload(files.radoc.path, ".pdf", userId + "/radocs", function(err, path){
            						if (err){
            							res.send({reason: "Ocorreu um erro, tente novamente."});
            						}
            						else{
                                        parsedRadoc.urlPdf = path;
                                        Radoc.findOne({idUsuario: userId, anoBase: parsedRadoc.anoBase}).exec(function(err, radocDoc){
                                            if (radocDoc){
                                                rm.file(radocDoc.urlPdf);
                                                for (var attr in parsedRadoc){
                                                    radocDoc[attr] = parsedRadoc[attr];
                                                }
                                                radocDoc.save();
                                                res.send({success: true, updated: true});
                                                processValidator.updateSentRadocPendencies(radocDoc, true);
                                            }
                                            else{
                                                Radoc.create(parsedRadoc, function(err, rad){
                    								if (err){
                    									res.send({reason: "Ocorreu um erro, tente novamente."});
                    								}
                    								else {
                    									res.send({success: true});
                                                        processValidator.updateSentRadocPendencies(rad, false);
                    								}
                    							});
                                            }

                                        });
            						}
            					});
                            }
                        }
                    });
                }
                else{
                    res.send({reason: "O pdf enviado não foi reconhecido como um Radoc."});
                }
            });
            pdfParser.on('pdfParser_dataError', function(error) {
                res.send({reason: "Não foi possível processar o arquivo enviado."});
            });
        });