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
1.1k
アプリでPDF機能を実装してダウンロードしてみた
balconia.inc
June 29, 2021
Tweet
Share
More Decks by balconia.inc
See All by balconia.inc
Amazon Connectで自動架電システムを作る
balconia
0
540
UIパッケージをつくってみた
balconia
0
340
Other Decks in Programming
See All in Programming
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
920
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
320
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
600
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
140
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
160
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
710
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
120
Python札幌 LT資料
t3tra
7
1.1k
Cap'n Webについて
yusukebe
0
150
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Paper Plane (Part 1)
katiecoart
PRO
0
2.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
260
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
34
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
[SF Ruby Conf 2025] Rails X
palkan
0
650
The Curse of the Amulet
leimatthew05
0
5.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Mind Mapping
helmedeiros
PRO
0
42
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
32
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機能を実装してダウンロードしてみた。