【エンジニア向け】DocSendの代替!オープンソースPDF分析ツール「Papermark」徹底解説
諸君、ごきげんよう!我々はPDFを扱うエンジニアの味方、ペーパーマークだ! 君たちの中に、PDFドキュメントを共有する時、こんなことで悩んでるやつはいないか?
「この企画書、送ったはいいけど、本当に読まれてるのかな…?」 「みんなどのページでつまずいてるんだ…?」 「URLを自社ドメインにしたいけど、どうすれば…?」
心配ご無用!そんな君たちの悩みを解決するため、我々ペーパーマーク戦隊が参上したぞ!
我々ペーパーマークは、いわばPDFを送信する際に使うDocSendのオープンソース版だ!DocSendのようにPDFをアップロードして、専用のリンクを作成できるのはもちろん、それに加えて誰がいつ、どのページを、どれくらいの時間読んだかといった、強力な分析機能を備えているんだ。
この分析機能を使えば、送ったPDFが読まれているか、どの部分が特に注目されているかなどを把握できる!これで企画書もプレゼン資料も、より効果的なものに改善できるってわけだ!
さらに、カスタムドメインにも対応しているから、会社のドメインを使ってPDFを共有することも可能だ!セキュリティ面でも安心だぞ。
よし、諸君!我々ペーパーマークを君たちのプロジェクトに迎える方法を教えよう!
ペーパーマークはDockerを使って簡単にデプロイできる。戦隊メンバーは次の3人だ。
フロントエンド(React/Next.js)
ユーザーが操作するUI部分。
バックエンド(Node.js/Express)
PDFの処理や分析データの管理。
データベース(PostgreSQL)
データの保存役。
まずは、以下のコマンドを実行して、コンテナを起動する準備をしよう!
# GitHubからソースコードを取得!
git clone https://github.com/mfts/papermark.git
# ディレクトリに移動だ!
cd papermark
# Docker Composeを使って、一気に起動!
docker-compose up -d
このコマンドを実行すれば、君のローカル環境にペーパーマークが起動する!すごいだろ?
ペーパーマークはAPIも提供しているから、君たちのアプリケーションと連携して、さらに強力な力を発揮できるぞ!
ここでは、Node.jsを使って、PDFをアップロードする例を紹介しよう。
import axios from 'axios';
import fs from 'fs';
// APIエンドポイントと認証キーは君たちの環境に合わせて設定してくれ!
const API_URL = 'http://localhost:3000/api/v1'; // 例
const API_KEY = 'your_api_key_here'; // 管理画面で取得!
// 企画書のPDFを読み込むぜ!
const pdfPath = './project_proposal.pdf';
const formData = new FormData();
formData.append('file', fs.createReadStream(pdfPath));
const uploadPdf = async () => {
try {
// PDFをアップロードするぞ!
const response = await axios.post(`${API_URL}/files`, formData, {
headers: {
'Content-Type': 'multipart/form-data',
'Authorization': `Bearer ${API_KEY}`,
},
});
console.log('PDFアップロード完了!');
console.log('共有リンク:', response.data.url);
console.log('トラッキングID:', response.data.trackingId);
// 後で分析データを見るために、トラッキングIDを保存しておこう!
// ここで何か処理を追加するのもいいな!
return response.data;
} catch (error) {
console.error('アップロード失敗!', error.response ? error.response.data : error.message);
}
};
uploadPdf();
どうだい?これで君も立派なペーパーマーク戦隊の一員だ!
この力を使えば、君のプロジェクトも、チームも、そしてクライアントとの関係も、もっともっとパワフルになるに違いない!