TTV Translate - Ứng dụng convert truyện trên mobile
Hướng dẫn đăng truyện trên website mới
Đăng ký convert hoặc Thông báo ngừng
Kết quả 1 đến 3 của 3

Chủ đề: Hướng dẫn build eBook đa định dạng (AZW, EPUB, MOBI, PRC)

  1. #1
    Ngày tham gia
    Apr 2012
    Bài viết
    194
    Xu
    0

    Mặc định Hướng dẫn build eBook đa định dạng (AZW, EPUB, MOBI, PRC)

    Các phần mềm sử dụng trong bài viết:


    Dưới đây là cách build eBook đa định dạng từ source HTML tạo bởi Word kết hợp Notepad++ của Decepticon

    Ưu điểm:
    - Nhanh hơn Calibre rất nhiều, đặc biệt với những truyện >1000 chương Calibre bó trym nhưng cách này thì ko.
    - Ebook tạo ra sẽ có mục lục NCX cực prồ giành riêng cho Kindle.

    Nhược điểm:
    - Hơi thủ công tý :P


    Bước 1: Creating Raw ePub (Tạo ePub thô)
    Sau khi có source HTML eBook với phần lõi là Decepticon Form, các bợn convert nó thành ePub thô bằng Aspose.Words Express
    Tên file HTML nhớ viết liền không dấu, ví dụ hdht.html not Hi Du Hoa Tùng.html

    Bước 2: Tuning the ePub
    Đổi đuôi .epub sang .zip rồi giải nén. Tiếp đến vô thư mục OEBPS chỉnh sửa 3 file sau:

    1/ styles.css
    Thay toàn bộ styles.css bằng đoạn code nầy:
    Mã nguồn HTML:
    /***********************************************/
    /* Styles for document saved to a stream */
    /* Generated by Aspose.Words for .NET 10.2.0.0 */
    /***********************************************/
    
    body { font-family:'Times New Roman', serif }
    h1, h2, p { margin:0pt }
    h1 { color:#990000; font-size:1.40em; font-weight:normal; margin:0.20em 0em; page-break-after:avoid; page-break-before:always; text-align:center }
    h2 { color:#0099cc; font-size:1.40em; font-style:normal; font-weight:normal; margin:0.20em 0em 1.40em; page-break-after:avoid; page-break-before:always; text-align:center }
    
    .PMsoTitle { color:#ff0000; font-size:1.44em; margin:0.12em 0em 0em; text-align:center }
    .PMsoNormal { font-size:1em }
    .PMsoToc1 { font-size:1em; margin:0.16em 0em; text-align:center }
    .PMsoToc2 { font-size:1em; margin:0.12em 0em; text-indent:12pt }
    .PHeading0 { font-size:1.2em; margin:0.16em 0em 12pt; page-break-before:always; text-align:center }
    .PDeStyle { font-size:1.2em; margin:0.20em 0em 0.48em; text-indent:14.4pt }
    .FiLi { font-size:1.2em; margin:0.20em 0em 0.48em }
    span.Dropcap { font-size: 3em; font-weight: bold; float: left; margin-top: -0.27em; margin-right: 0.05em; margin-bottom: -0.25em }
    Các bợn thay color, font, font-size, in nghiêng/in đậm... của các Style (Title, Heading, Toc...) tùy theo sở thích nhé, dropcap thì tự tìm hiểu ta lười lém.
    In nghiên: font-style: italic
    In đâm: font-weight:bold
    Giữa dòng: text-align:center
    Màu sắc phổ biến http://www.color-hex.com/popular-colors.php

    2/ untitled.html
    Mở untitled.html bằng N++ các bợn sẽ thấy tất cả nội dung bị dồn vào một dòng duy nhất nên load rất lâu, cẩn phải fix lại, một số code rác không cần thiết cũng nên replace cho dễ nhìn.
    Đặc biệt, dưới mỗi Heading (H0, H1, H2...) sẽ là một dòng bị thụt vào giữa rất chi khốn nạn, chả hiểu thằng Aspose tự sướng thêm làm cái éo gì.

    Nếu làm ebook từ De Form các bợn chỉ việc chạy macro Fix_Untitled.html cho N++ có sẵn, còn không thì tự xóa code thủ công :v


    3/ filename.opf
    Thay toàn bộ từ đầu cho đến <manifest> bằng đoạn code sau:
    Mã:
    <?xml version="1.0" encoding="utf-8"?><package xmlns="http://www.idpf.org/2007/opf" version="2.0" unique-identifier="uid">
    <metadata xmlns:opf="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <dc:title>Tên_Truyện</dc:title>
    <dc:creator>Tên_Tác_Giả</dc:creator>
    <dc:identifier id="uid">Aspose</dc:identifier>
    <dc:language>en-US</dc:language>
    <dc:contributor opf:role="bkp">Aspose.Words for .NET 10.2.0.0</dc:contributor>
    <meta name="generator" content="Aspose.Words for .NET 10.2.0.0" />
    <meta name="cover" content="cover" />
    </metadata>
    <manifest>
    <item id="cover" href="Cover.jpg" media-type="image/jpeg" />
    Ảnh bìa vứt vào thư mục OEBPS rồi đổi tên thành Cover.jpg; nếu ảnh có định dạng png thì sửa code thành như nầy
    <item id="cover" href="Cover.png" media-type="image/png" />


    Nén lại như cũ chúng ta sẽ có 1 ePub hoàn chỉnh, đọc ngon lành trên PC.
    Cơ mà nếu source HTML quá nặng Android/iOS sẽ ko load được, khi đó các bợn bắt buộc phải convert sang định dạng MOBI (xem Bước 4) hoặc loại ePub có source HTML chia nhỏ bằng Calibre.
    Băm nhỏ ePub nhanh hơn nén MOBI chế độ HC nhiều nhưng ta không thích thằng .ZIP trá hình này vậy nên ta chỉ làm ePub khi các em gái (có ảnh) yêu cầu :oni19:

    Bước 3: Convert OPF to MOBI
    - Đổi tên và vị trí thư mục Kindlegen sao cho đường dẫn tới kindlegen.exe là C:\Kindlegen\kindlegen.exe
    - Tạo một New Text Document nội dung như dưới rồi đổi tên thành Kindlegen.bat (đuôi .bat ko phải .txt nữa nhé)
    Mã nguồn HTML:
    @echo off
    set /p file="Nhap duong dan file: " %=%
    set /p num="Nhap che do nen (0, 1 hoac 2): " %=%
    C:\Kindlegen\kindlegen.exe %file% -c%num%
    - Chạy Kindlegen.bat, kéo-thả filename.opf vào cửa sổ command, Enter...
    Kết quả ta sẽ được 1 ebook .MOBI có mục lục NCX như của Bigbang (mục lục 1 hay 2 lớp là do thiết kế ban đầu của các vị, ko liên quan đến ta)


    Bước 4: Unpack MOBI to AZW3 + PRC
    Thực tế MOBI do 2 thằng AZW3 và PRC ghép lại với nhau (MOBI 10MB = AZW3 4MB + PRC 3MB + HMTL 3MB)
    Để có eBook nhỏ, nhẹ, xì tin các bợn nên tách nó thành AZW3 và PRC dùng cho mục đích khác nhau. AZW3 chất lượng y hệt MOBI, hoạt động tốt trên Kindle for Android/PC còn PRC cùi bắp thì... khỏi phải nói.

    Cách làm: Cài đặt plugin Kindle Unpack cho Calibre, chọn Split KF8/MOBI.... Thời gian Unpack khá lâu, mất tận... 3 giây.

    Kindle Unpack: http://www.mobileread.com/forums/sho...d.php?t=171529

    TTV Translate - Ứng dụng convert truyện trên mobile

    Lần sửa cuối bởi Decepticon, ngày 16-09-2017 lúc 18:04.
    ---QC---


  2. Bài viết được 3 thành viên cảm ơn::   [Hiện ra]
    babylong10,bomnocham,NguyenHoang,
  3. #2
    Ngày tham gia
    Apr 2012
    Bài viết
    194
    Xu
    0

    Mặc định

    Bổ sung thêm

    1/ Với file siêu nặng cỡ 2000c trở lên các bạn phải chia html làm đôi mới chạy được kindlegen.
    Cách chia xem thảo luận từ #91 thớt nầy trở đi nhá


    2/ Mặc định Kindle chỉ lè tè vài font, muốn nhúng thêm font mời xem Quote dưới hoặc bài gốc nầy

    Trích dẫn Gửi bởi Big Bang
    .
    Nhúng font phải làm bằng HTML, không làm bằng MS Word được.

    Các font nhúng phải đặt ở đầu file CSS hoặc đầu cặp thẻ <style>. Cú pháp:
    Mã:
    @font-face {
        font-family: <name>;
        src: url(<link-to-font-file>);
        font-style: <optional: normal, italic, oblique>;
        font-weight: <optional: normal, bold, 100 --> 900>;
        font-stretch: <optional: normal, condensed, ultra-condensed, extra-condensed,
                            semi-condensed, expanded, semi-expanded, extra-expanded, ultra-expanded>;
    }
    Trong đó font-family và src là bắt buộc (mandatory); font-style, font-weight và font-stretch là optional.
    Ví dụ nhúng nguyên bộ font Windows Times New Roman:
    Mã:
    @font-face { font-family: "Times New Roman"; src: url("emb_fonts/times.ttf"); font-style: normal; font-weight: normal; }
    @font-face { font-family: "Times New Roman"; src: url("emb_fonts/timesbd.ttf"); font-style: normal; font-weight: bold; }
    @font-face { font-family: "Times New Roman"; src: url("emb_fonts/timesbi.ttf"); font-style: italic; font-weight: bold; }
    @font-face { font-family: "Times New Roman"; src: url("emb_fonts/timesi.ttf"); font-style: italic; font-weight: normal; }
    Kindle for Android có các bộ font mặc định rất đẹp, thí dụ Caecilia, Palatino, Droid Serif là các font serif (font chữ có chân) hoặc Helvetica, Lucida là các font sans serif (font chữ không chân) nên nói chung dùng mấy font đó cũng đủ cho text thường. Với text làm heading (ví dụ tựa chương) bạn có thể dùng font nhúng nếu thích.

    Nếu dùng font nhúng cho text thường thì phải quy định font chữ cho thẻ <body>, ví dụ:
    Mã:
    /* here is your CSS file */
    
    body { font-family: "Times New Roman"; }
    Tôi post nguyên file CSS tôi dùng bộ font Tahoma của Windows để các bạn tham khảo:
    Mã:
    /* here is your CSS file */
    @font-face { font-family: "Tahoma"; src: url("emb_fonts/tahoma.ttf"); font-style: normal; font-weight: normal; }
    @font-face { font-family: "Tahoma"; src: url("emb_fonts/tahomabd.ttf"); font-style: normal; font-weight: bold; }
    @font-face { font-family: "Vintage Decorative 3"; src: url("emb_fonts/Vintage Decorative Signs 3.ttf"); }
    
    h1 {text-align:center; color:#99182C;}
    h2 {text-align:center; color:#99182C;}
    h3 {text-align:center; color:#35586C;}
    h4 {text-align:center; color:#35586C;}
    
    h1.cover {text-align:center; color:#99182C;}
    h2.cover {text-align:center; color:#993300;}
    h3.cover {text-align:center; color:#35586C;}
    h4.cover {text-align:center; color:#35586C;}
    
    body { font-family: "Tahoma"; }
    
    a.toc {text-decoration: none !important; }
    p.sectbr { font-family: "Vintage Decorative 3"; text-align:center;}  /* <p class="sectbr">(^(</p> */
    p.chapbr { font-family: "Vintage Decorative 3"; text-align:center;page-break-after:always;}  /* <p class="chapbr">,1=1,</p> */
    p.firstpara {text-indent: 0px; margin-top: 0px; margin-bottom: 0px;}
    div.poem {font-style: italic; text-align: center; }
    span.dropcap {font-size: 3em; font-weight: bold; float: left; margin-top: -0.25em; margin-right: 0.05em; margin-bottom: -0.3em;}
    Font Tahoma tuy chỉ có 2 file nhưng vẫn có đủ cả 4 dạng normal, bold, italic, bold italic giống như Times New Roman.

    Nói chung nếu thích dùng font nhúng thì có thể làm như sau:
    - Chọn 1 bộ font có đủ các style để dùng cho text thường: normal, bold, italic, bold italic. Không nên chọn font thiếu style. Ví dụ font thiếu style italic thì khi bạn muốn chữ nghiêng cho các khổ thơ sẽ không làm được. Chú ý các font này phải hỗ trợ tiếng Việt, nếu không khi gặp chữ việt có dấu nó sẽ thay bằng font mặc định của Kindle, hai loại font trộn lẫn trông rất xấu.
    - Chọn 1 hay nhiều loại font đẹp để làm Heading. Có rất nhiều font chuyên để làm heading, thường là font chữ đậm (bold)
    - Chọn 1 font đẹp, cách điệu để làm dropcap. Có các font chuyên để làm dropcap, tuy nhiên hay thiếu các chữ việt có dấu. Bạn có thể dùng Fontlab Studio để thêm chữ việt nếu thích.
    - Chọn 1 font loại dingbat hay Decorative để làm các dòng ngắt đoạn hay hết chương (section break, chapter break).

    PS: Chú ý ngôn ngữ để làm ebook phải là Tiếng Anh. Nếu bạn quy định là tiếng Việt thì Kindle sẽ chỉ có font Droid Serif mà không có các lựa chọn khác (Caecilia, Palatino,...). Trong file OPF sẽ phải quy định như sau:
    Mã:
    <dc:Language>en</dc:Language>
    Trong tất cả các file HTML sẽ phải quy định ngôn ngữ là tiếng Anh, ví dụ:
    Mã:
    <html lang="en">

    TTV Translate - Ứng dụng convert truyện trên mobile

    Lần sửa cuối bởi Decepticon, ngày 16-09-2017 lúc 18:01.

  4. Bài viết được 1 thành viên cảm ơn::   [Hiện ra]
    hoang123anh,
  5. #3
    Ngày tham gia
    Apr 2012
    Bài viết
    194
    Xu
    0

    Mặc định

    [Tutorial] Hướng dẫn làm eBook PRC bằng Word kết hợp Notepad++

    ---QC---


  6. Bài viết được 3 thành viên cảm ơn::   [Hiện ra]
    babylong10,bomnocham,hoang123anh,

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

DMCA.com Protection Status