Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EPUBファイルからVivliostyleでPDFを作る
Search
JunTajima
August 31, 2019
Technology
0
860
EPUBファイルからVivliostyleでPDFを作る
CSS組版 Vivliostyle 開発者とユーザーの集い 2019夏LT発表資料
JunTajima
August 31, 2019
Tweet
Share
More Decks by JunTajima
See All by JunTajima
日本語組版に関連するCSS規格の策定状況について
juntajima
0
540
XMLパブリッシング交流会2019パネルディスカッション資料
juntajima
0
690
Page2019 Adobeクリエイティブゾーンセミナー用資料
juntajima
0
840
Page2018 Adobeクリエイティブゾーンセミナーd8-2スライド
juntajima
0
770
Page2018 XMLパブリッシング交流会プレゼン資料(田嶋分)
juntajima
0
790
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
260
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
4
3.9k
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.7k
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
130
ビギナーであり続ける/beginning
ikuodanaka
3
760
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
240
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
230
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
50
20k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing for Performance
lara
610
69k
Designing for humans not robots
tammielis
253
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
524
40k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Statistics for Hackers
jakevdp
799
220k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
&16#ϑΝΠϧ͔Β 7JWMJPTUZMFͰ1%'Λ࡞Δ ాౢɹ३ɹ!+VO5BKJNB IUUQEFOTZPEBNBTJJDPN
ͣͬͱ&16#Λखܰʹ1%'ʹ͔ͨͬͨ͠ʂ
ͣͬͱ&16#Λखܰʹ1%'ʹ͔ͨͬͨ͠ʂ ԿͰʁ ↓
"ग़൛͕ࣾߍਖ਼ͷࡍʹࢴʹग़ྗ͕ͨ͠Δ͔Β
Ͱٕज़తʹ૬͔ͬͨ͠
Ͱٕज़తʹ૬͔ͬͨ͠ ԿͰʁ ↓
"༻&16#ϏϡʔΞʹҹͷػೳ͕ͳ͍͔Β
"༻&16#ϏϡʔΞʹҹͷػೳ͕ͳ͍͔Β ͚ͯ͠·͏ͱւ൛࡞ิॿʹͳͬͯ͠·͏ ↓
Ͱ͜Ε·ͰͲ͏ͬͯ1%'Խ͍ͯͨ͠ͷ͔
Ͱ͜Ε·ͰͲ͏ͬͯ1%'Խ͍ͯͨ͠ͷ͔ .BDͷΞΫηγϏϦςΟؔͷػೳΛͬͯΞϓϦࣗಈ ૢ࡞Ͱ࿈ଓεΫϦʔϯγϣοτˠը૾ΛଋͶͯ1%'Խ ↓
ϑΝΠϧ͕όΧΈ͍ͨʹॏ͘ͳΔ ˍ࡞Δͷʹ͕͔͔࣌ؒΔʂ
ϑΝΠϧ͕όΧΈ͍ͨʹॏ͘ͳΔ ˍ࡞Δͷʹ͕͔͔࣌ؒΔʂ ͬͱखܰʹ1%'ʹ͍ͨ͠ʂ ↓
7JWMJPTUZMF͕ల։ޙͷ&16#දࣔʹରԠʂ
7JWMJPTUZMF͕ల։ޙͷ&16#දࣔʹରԠʂ ŝŦʕʕʕ ƅ˲ƅ ʕʕʕʕ ↓
Γ͍ͨ͜ͱ EPUBΛCSSͷඪ४తͳදݱʹԊͬͨܗͰPDFԽ͍ͨ͠ ྲྀ௨͢Δલͷ༻ిࢠॻ੶ͷߍਖ਼༻్ͳͷͰՄೳͳΒ WebʹΞοϓϩʔυͤͣϩʔΧϧͰॲཧ͍ͨ͠ ՄೳͳΒߍਖ਼ࢦࣔͷͨΊʹϖʔδ൪߸ೖΕ͍ͨ Ͱ͖ΕMacඪ४ͷπʔϧ܈ͰͲ͏ʹ͔͍ͨ͠ʢձࣾͷ Ϛγϯʹ͍Ζ͍ΖಥͬࠐΜͰҰਓϝϯςͭΒ͍ʣ
ͬͯΈͨᶃ 8FCαʔόΛϩʔΧϧͰཱͯΔ λʔϛφϧͰʮpython -m SimpleHTTPServer 8000ʯ ΛೖΕͯϩʔΧϧͰWebαʔόΛ্ཱͪ͛ͨ Node.JSΠϯετʔϧͰτϥϒͬͨɻ·͋ඪ४ͷ PythonͰࡁΉͷͳΒͦͬͪͷํ͕Α͍ɻ
None
ͬͯΈͨᶄ 7JWMJPTUZMF7JFXFSΛϩʔΧϧىಈ ϩʔΧϧWebαʔόʔ্ཱ͕͕ͪͬͯΔঢ়ଶͰʮhttp:// localhost:8000/Desktop/vivliostyle_test/vivliostyle-js- 2019.1.105/viewer/vivliostyle-viewer.html ʯͳͲͱϒϥβͷ ΞυϨεόʔʹೖΕΕVivliostyle Viewer্ཱ͕͕ͪΔ ↑VivliostyleͷύοέʔδΛσεΫτοϓ্ͷ ʮvivliostyle_testʯϑΥϧμʹஔ͍͍ͯΔ
None
ͬͯΈͨᶅ ςετϑΝΠϧΛ7JWMJPTUZMFͰදࣔ ͖͞΄ͲͷΞυϨεͷޙʹʮ#b=ʯΛॻ͖ɺʮhttp:// localhost:8000 ʯͷޙʹදࣔϑΝΠϧͷύεΛࢦఆ ʢ#b=ϒοΫࢦఆʣ EPUBΛද͍ࣔͤͨ͞߹ల։ޙͷEPUBϑΥϧμ ͘͠EPUBͷ.opfϑΝΠϧΛࢦఆ͢Δ
ʮhttp://localhost:8000/Desktop/vivliostyle_test/vivliostyle- js-2019.1.105/viewer/vivliostyle-viewer.html#b=http://localhost:8000/ Desktop/vivliostyle_test/testepubfolder/item/standard.opf ʯͷΑ͏ʹࢦ ఆͯ͠දࣔ
ͬͯΈͨᶆ $44Λهͯ͠ϖʔδ൪߸Λදࣔ VilliostyleͷઃఆͰʮOverride Document Style Sheetsʯ ʹνΣοΫΛೖΕɺCSSΛهͯ͠Είϯςϯπ ଆͷϑΝΠϧΛ࿔Βͳͯ͘දࣔCSS͕ՃͰ͖Δ Ճͨ͠CSSશͯURLͷඌʹՃ͞ΕΔʢͷͰε ΰ͍͘ͳͬͨΓ͢Δʣ
None
͜ͷลͷઃఆେࣄ શϖʔδϨϯμϦϯάಡΈ ࠐΈࢦఆɻϓϦϯτͯ͠ PDFʹม͢Δͷ͕తͳ ͷͰνΣοΫ͓ͯ͘͠ɻ ը૾ͷϖʔδஔ࠷దԽ ࢦఆɻ͜ΕΛνΣοΫͯ͠ ͓͔ͳ͍ͱը૾͕͖ͪΜͱ ϨΠΞτ͞Εͳ͍ɻ
http://localhost:8000/Desktop/vivliostyle_test/vivliostyle-js-2019.1.105/viewer/vivliostyle- viewer.html#b=http://localhost:8000/Desktop/vivliostyle_test/testepubfolder/item/ standard.opf&userStyle=data:,/*%3Cviewer%3E*/%0Aimg,%20svg%20%7B%20max-inline-size: %20100%25%20!important;%20max-block-size:%20100vb%20!important;%20object-fit: %20contain%20!important;%20%7D%0A/*%3C/viewer%3E*/%0A@page%20%7B%0A%20%20size: %20105mm%20148mm;%0A%20%20width:%20240pt;%0A%20%20height:%20331.5pt; %0A%20%20margin-top:%2015mm;%0A%20%20margin-bottom:%20auto;%0A%20%20margin-left: %20auto;%0A%20%20margin-right:%20auto;%0A%20%20font-size:%206pt;%0A%20%20font-family: %20%22%E6%B8%B8%E6%98%8E%E6%9C%9D%22,%20%22YuMincho%22,%20serif; %0A%20%20vertical-align:%20top;%0A%7D%0A@page%20:left%20%7B%0A%20%20margin-right:
%2010mm;%0A%20%20@top-left%20%7B%0A%20%20%20%20content: %20%22%E9%BB%92%E6%AD%BB%E9%A4%A8%E6%AE%BA%E4%BA%BA%E4%BA%8B%E4% BB%B6%22;%0A%20%20%20%20margin-left:%205pt;%0A%20%20%20%20margin-top:%206mm; %0A%20%20%20%20writing-mode:%20horizontal-tb;%0A%20%20%7D%0A%20%20@bottom- left%20%7B%0A%20%20%20%20content:%20counter(page);%0A%20%20%20%20margin-left: %205pt;%0A%20%20%20%20margin-bottom:%206mm;%0A%20%20%20%20writing-mode: %20horizontal-tb;%0A%20%20%7D%0A%7D%0A@page%20:right%20%7B%0A%20%20margin-left: %2010mm;%0A%20%20@bottom-right%20%7B%0A%20%20%20%20content:%20counter(page); %0A%20%20%20%20margin-right:%205pt;%0A%20%20%20%20margin-bottom:%206mm; %0A%20%20%20%20writing-mode:%20horizontal-tb; %0A%20%20%7D%0A%7D%0A@page%20:first%20%7B%0A%20%20@bottom- left%20%7B%0A%20%20%20%20content:%20'';%0A%20%20%7D%0A%20%20@top- left%20%7B%0A%20%20%20%20content:%20'';%0A%20%20%7D%0A%7D खೖྗΦεεϝ͠ͳ͍w
͋ͱϒϥβը໘্Ͱ1ߦจࣈͳͲΛ ௐͯ͠ϓϦϯτͯ͠ΕPDF͕Ͱ͖Δ
͓͔ͭΕ͞·Ͱͨ͠ʂ
ҰԠͰ͖͚ͨͲίϨຖճखಈͰΔͷπϥ͍ ˍ৬Ͱ͔ࣗ͠Ͱ͖ͦ͏ʹͳ͍
ҰԠͰ͖͚ͨͲίϨຖճखಈͰΔͷπϥ͍ ˍ৬Ͱ͔ࣗ͠Ͱ͖ͦ͏ʹͳ͍ 1FSMΛͬͯ͜͜·ͰͷॲཧΛࣗಈԽͨ͠ ↓
https://github.com/JunTajima/epubVivliostylePreview.pl/blob/master/ epubVivliostylePreview.pl
osascriptͰApplescriptݺΜͰλʔϛφϧͱ͔Chrome ্ཱͪ͛ͯΔͷͰMacઐ༻ ల։ޙͷEPUBϑΝΠϧͦͷ··ΔͷͰফ͢ඞཁ ΞϦʢޙड़ͷΞϓϦͰऴྃ࣌ʹࣗಈͰফ͢Α͏ʹ ͨ͠ʣ ՃϞδϡʔϧͱ͔ͬͯͳ͍ͷͰMacͳΒׂͱ ڥΛબͣಈͣ͘
৬༻ʹλʔϛφϧπϥ͍ͷͰ 9PKPͰΞϓϦԽͨ͠
None
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠