Chuyển HTML thành PDF cơ bản

1. Tại sao cần chuyển sang PDF Nhiều lý do để người ta sử dụng PDF thay vì các định dạng khác. Về cơ bản không thể edit nên đảm bảo thống nhất về nội dung hiển thị Ít bị lỗi FONT Tiện lợi khi gửi, nhận: bên nhận và bên gửi luôn thấy chung 1 dữ liệu và ít khi sửa được. Vì PDF gần như tiêu chuẩn để trao đổi dạng tài liệu read-only Đọc được ở trên hầu hết mọi nền tảng: máy tính, điện thoại.. Trình duyết Web như Firefox, Chrome còn cho phép đọc luôn mà ko cần cài thêm gì. 2. Công cụ hỗ trợ chuyển từ HTML sang PDF Về cơ bản, HTML là plan-text(các thẻ (tag) được kết hợp với nhau), chúng ta sẽ không thể có nội dung nếu không có Web Browser để mở nó. Vì thế, muốn chuyển : HTML sang PDF, ta cần 1 Web Browser để mở lên, sau đó dùng chính Web Browser đó để PDF hoá. Trên hầu hết trình duyệt web đều có chức năng này. Vậy khi lập trình thì sao? Có thư viện nào hỗ trợ không? Câu trả lời là : Có. Đó là wkhtmltopdf 2. Thử nghiệm và một số vấn đề 2.1 Thử xem Giả sử convert 1 post này $ wkhtmltopdf post/2015-08-02-cmake-cong-cu-ho-tro-viec-build-source-tren-nhieu-platform/index.html ./result.pdf Loading pages (1/6) Warning: Failed to load file:///css/style.css (ignore) Warning: Failed to load file:///js/menu.js (ignore) Warning: Failed to load file://https-blog-lazytrick-com.disqus.com/embed.js (ignore) Counting pages (2/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6) Done Và kết quả: result.pdf. Một file trắng xoá luôn. ...

tháng 11 3, 2019

Tensorflow và AVX

1. Lỗi liên quan đến CPU instruction của tensorflow Định cài đặt tensorflow-gpu trên con máy già chạy Intel Xeon X5672 và có gắng GTX 1060 3G để nghịch chút. Nhưng khi kiểm tra xem có chạy được không: >>> import tensorflow as tf Illegal instruction (コアダンプ) Vâng, là lỗi run-time - chỉ xảy ra khi chạy, chứ cài thì chưa xuất hiện vấn đề. 2. AVX là gì Ta tìm hiểu một chút về lỗi kể trên, thì hầu hết đề nói rằng: máy sử dụng CPU không hỗ trợ đầy tập lệnh mà tensorflow đang dùng. Phổ biến là thiếu là AVX - Advanced Vector Extension. Theo wikipedia: Advanced Vector Extension là phần mở rộng cho bộ vi xử lý kiến trúc x86 (cả Intel và AMD), được Intel đề xuất năm 2008. Lần đầu tiên được hỗ trợ trên bộ xử lý Sandy Bridge năm Q1/2011. Sau đó đến Q3/2011 thì AMD cũng hỗ trợ. AVX cung cấp tính năng mới cùng các lệnh mới và cấu trúc thực hiện cũng khác. ...

tháng 10 31, 2019