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
アプリでPDF機能を実装してダウンロードしてみた
Search
balconia.inc
June 29, 2021
Programming
0
1k
アプリでPDF機能を実装してダウンロードしてみた
balconia.inc
June 29, 2021
Tweet
Share
More Decks by balconia.inc
See All by balconia.inc
Amazon Connectで自動架電システムを作る
balconia
0
530
UIパッケージをつくってみた
balconia
0
340
Other Decks in Programming
See All in Programming
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2k
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
490
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
270
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
720
dynamic!
moro
10
7.4k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
570
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.6k
Go言語はstack overflowの夢を見るか?
logica0419
0
240
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
440
CSC509 Lecture 05
javiergs
PRO
0
300
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Speed Design
sergeychernyshev
32
1.2k
How to Think Like a Performance Engineer
csswizardry
27
2k
Faster Mobile Websites
deanohume
310
31k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Transcript
アプリで1%'機能を実装して ダウンロードしてみた。
2 アプリでPDF機能を実装してダウンロードしてみた。 ▪⽬次 1. ⾃⼰紹介 2. 概要 3. Webの実装で躓いた点 4.
他の躓いた点
3 ▪⾃⼰紹介 出⾝は⾹川県 2018年に新卒で⼊社して、現在4年⽬。 主な担当 • Javaを使ったサーバサイドの開発 • Androidアプリの開発など(勉強中) アプリでPDF機能を実装してダウンロードしてみた。
4 ▪概要 ・スマホやWebで帳票データをPDF表⽰する機能の実装 アプリでPDFダウンロード Web画⾯でPDFを表⽰ iOS, Android swift, kotlin Web
HTML, CSS, jQuery サーバ Java, Spring, JasperReport アプリでPDF機能を実装してダウンロードしてみた。
5 ▪Web躓いた点 仕様 Webでは、PDFはダウンロードではなく画⾯に表⽰させたい。 作り SPA、画⾯遷移する時にパスを指定してないので更新したらログ イン画⾯(最初に表⽰させいる画⾯)まで戻ってしまう。 →同⼀タブでPDFを表⽰したら元の画⾯に戻れなくなるため Window.open()使って別タブに表⽰する必要がある。 PDFボタン
帳票画⾯ 帳票PDF 初期画⾯ (ログイン) アプリでPDF機能を実装してダウンロードしてみた。
6 ▪Web躓いた点 Window.open()では、 GETするとリクエストURLにユーザIDがブラウザのアドレスバーに表⽰ されてしまう。 カスタムリクエストヘッダーを送れない。 アプリでPDF機能を実装してダウンロードしてみた。 知らんかった🥺
7 ▪Web躓いた点 GETダメなので、formタグを埋め込んでPOST送信にする必要があった。 formの場合、 コンテントタイプでapplication/jsonがない。 →application/x-www-form-urlencodedを指定。 (サーバサイドではMultiValueMap<String, String>で受け取る。) アプリでPDF機能を実装してダウンロードしてみた。
8 ▪他の躓いた点 サーバ • Jasper Studtoが重たすぎて全然機能しない→jrxmlを直接編集した。 • PDFは⽂字数でのサイズの調整実装した。Javaのserviceクラスから XMLのタグに属性の付与苦労した。 •
GETのURLをLineとかに貼り付けてURLをクリックしたりとかのテス トが⾜りてなかった。 アプリでPDF機能を実装してダウンロードしてみた。
9 ▪他の躓いた点 アプリ • iOS,Android共にファイルダウンロード⽤のhttpClientがなかった。 →両OS共に元々Jsonでの通信のみを想定た作りだった。 • Androidは特に、フォルダへのアクセス権限とか、クッキー情報の受 け渡しの実装が結構⼤変だった。 アプリでPDF機能を実装してダウンロードしてみた。
勉強の材料になるので⼀⼈で黙々と読んでいきたい。
10 結論︓ ファイルのダウンロード系は⼤変。 PDF作るのは根気がいる。 アプリでPDF機能を実装してダウンロードしてみた。
11 以上です︕ アプリでPDF機能を実装してダウンロードしてみた。