Tôi đang sử dụng nútj với mô-đun ảo để tạo pdf từ html.PhantomJS: CSS bên ngoài bị bỏ qua trong pdf được hiển thị
Trước tiên, tôi đọc mẫu html và điền dữ liệu đó vào dữ liệu và hiển thị dưới dạng pdf. Tôi muốn bootstrap css được sử dụng để tạo kiểu cho trang, tuy nhiên kiểu dáng được inored trong file pdf.
đây là mã của tôi javascript:
var phantom = require('phantom');
var htmlTemplate;
fs = require('fs')
fs.readFile('template.html', 'utf8', function (err,data) {
var htmlTemplate = populateTemplate(data, body)
phantom.create(function(ph){
ph.createPage(function(page) {
page.set("paperSize", {
format: "A4",
orientation: 'portrait',
margin: '1cm'
});
page.setContent(htmlTemplate, "", function(){
page.render("../userdata/test.pdf", function(){
console.log("page rendered");
ph.exit();
});
});
})
});
});
và template html (simplyfied) trông như thế này:
<!DOCTYPE html>
<html>
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.5/paper/bootstrap.min.css", rel="stylesheet">
<meta charset="utf-8">
</head>
<body>
<div class="container">
<h1>Title</h1>
<%NAME%>
</div>
</body>
</html>
Tất cả các đánh dấu được render trang, nhưng không có phong cách. Thậm chí nếu tôi sử dụng tập tin css địa phương hoặc bao gồm các phong cách trong <style>
yếu tố vào đầu, kết quả đều giống nhau
cảm ơn, vấn đề này có vẻ là bootstrap css. Một số kiểu được in, nhưng một số kiểu được bỏ qua. – Zbynek
Bạn có thể nói những lớp và kiểu nào từ Bootstrap đang được áp dụng không? Điều đó sẽ cho tôi biết thêm một chút về cách khắc phục vấn đề. Tôi biết Bootstrap không phải lúc nào cũng được biết đến là bản in thân thiện.Đây là một chủ đề liên quan về in từ bootstrap: http://stackoverflow.com/questions/12302819/how-to-create-a-printable-twitter-bootstrap-page –
hệ thống lưới không được áp dụng - 'hàng 'và' col-xx-y' – Zbynek