背景
業務上、PDFファイルを「1つずつに分割する」「複数のファイルを1つに結合する」といった作業を行う機会が多くありました。これらのPDFには個人情報を含む重要な書類が含まれているため、既存のWebサービス(オンラインPDFツールなど)を利用するのはセキュリティ上の懸念がありました。
そこで、自分で安全に利用できるアプリケーションを開発することにしました。
もともとはローカルで動作するv1(Python製のスクリプト)を作っていたのですが、より使いやすくするために、v2としてWebアプリケーション化を行いました。
サービスの概要
pdf-edition-v2
スクリーンショット
技術スタック
- フロントエンド:
- Typescript/Next.js
- バックエンド:
- Go
- インフラ・クラウド:
- Vercel (ホスティング)
- Google Cooud (Artifacts Registry, Cloud Run)
Github
実装した機能
✅ PDFの結合機能
複数のPDFファイルをアップロードし、1つのPDFにまとめることができます。
アップロード後のソート機能を実装しました。
✅ PDFの分割機能
1つのPDFファイルをページ単位で個別のファイルに分割できます。
🔐 セキュリティ
アップロードされたファイルはサーバーに保存されず、一時的に処理してすぐに削除されます。
ファイルを外部に保存しないため、安全に利用できる点が特徴です(他のオンラインサービスとの明確な差別化ポイントです)。
意識したこと
- ファイルのダウンロード処理の仕組みや、REST APIを通じてファイルを送受信する方法を学んだ
- 当初は、生成したファイルをストレージに保存し、URL経由でダウンロードさせる方法も検討したが、セキュリティを最優先したため、DBやホスティングを使わずに完結する形で実装した
- UIにもこだわり、Techサイトっぽいモダンなデザインに仕上げた
さいごに
今回、自分でこういったファイル編集サイトを作ったことで、セキュリティに対する意識が高まったと感じています。
安全性を重視して作ったサイトなので、ぜひ一度使ってもらえると嬉しいです。
URL