2010-08-14 28 views
7

Tôi mới đến node.js nhưng tôi nghĩ rằng nó có thể tốt cho một công cụ biên dịch cao su không đồng bộ.Có thể biên dịch tài liệu latex thông qua node.js không?

Nói cách khác, tôi muốn biết nếu có thể, và cách biên dịch tài liệu qua node.js và pdflatex. Ứng dụng từ xa sẽ gửi tài liệu dưới dạng cấu trúc dữ liệu JSON, kết hợp với tên mẫu cho bố cục tài liệu cuối.

node.js sẽ xử lý việc biên dịch bằng pdf, lấy mẫu từ hệ thống tệp.

Bạn có biết điều gì đó tương tự, đã tồn tại không?

Trả lời

8

Bạn có thể đẻ trứng riêng child processes và do đó cũng bắt đầu chế biến mủ cao su. Bằng cách đăng ký người nghe thích hợp, bạn có thể phát hiện quá trình completition hay thất bại đầu ra:

var sys = require('sys'), 
    spawn = require('child_process').spawn, 
    pdflatex = spawn('pdflatex', ['-output-directory', '/target/dir/','input.tex']); 


pdflatex.on('exit', function (code) { 
    console.log('child process exited with code ' + code); 
}); 

EDIT: Để tạo file latex trung gian bằng cách sử dụng dữ liệu được cung cấp, tôi muốn đề nghị sử dụng một mẫu động cơ Node.js như mu/ria.

Vì vậy, sau đó bạn có thể bơm các đoạn của quy trình tạo mẫu như stdin cho quá trình pdflatex sinh ra của bạn.

+0

tuyệt vời! CÁM ƠN. – microspino

Các vấn đề liên quan