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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
balconia.inc
June 29, 2021
Programming
1.1k
0
Share
アプリでPDF機能を実装してダウンロードしてみた
balconia.inc
June 29, 2021
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
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
130
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
240
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
230
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
130
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
240
Sans tests, vos agents ne sont pas fiables
nabondance
0
160
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
940
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
6
1.1k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.3k
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
210
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
240
The agentic SEO stack - context over prompts
schlessera
0
780
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Unsuck your backbone
ammeep
672
58k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
We Are The Robots
honzajavorek
0
230
Joys of Absence: A Defence of Solitary Play
codingconduct
1
370
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
エンジニアに許された特別な時間の終わり
watany
107
240k
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機能を実装してダウンロードしてみた。