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
870
EPUBファイルからVivliostyleでPDFを作る
CSS組版 Vivliostyle 開発者とユーザーの集い 2019夏LT発表資料
JunTajima
August 31, 2019
Tweet
Share
More Decks by JunTajima
See All by JunTajima
日本語組版に関連するCSS規格の策定状況について
juntajima
0
550
XMLパブリッシング交流会2019パネルディスカッション資料
juntajima
0
690
Page2019 Adobeクリエイティブゾーンセミナー用資料
juntajima
0
850
Page2018 Adobeクリエイティブゾーンセミナーd8-2スライド
juntajima
0
780
Page2018 XMLパブリッシング交流会プレゼン資料(田嶋分)
juntajima
0
790
Other Decks in Technology
See All in Technology
AWSで始める実践Dagster入門
kitagawaz
1
570
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
500
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
160
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
140
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
150
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
360
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
270
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
370
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
260
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
140
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
BBQ
matthewcrist
89
9.8k
Thoughts on Productivity
jonyablonski
70
4.8k
Designing for humans not robots
tammielis
253
25k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
The Cult of Friendly URLs
andyhume
79
6.6k
Why Our Code Smells
bkeepers
PRO
339
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
A Tale of Four Properties
chriscoyier
160
23k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠