【エンジニア向け】DocSendの代替!オープンソースPDF分析ツール「Papermark」徹底解説


【エンジニア向け】DocSendの代替!オープンソースPDF分析ツール「Papermark」徹底解説

mfts/papermark

2025-08-27

諸君、ごきげんよう!我々は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();

どうだい?これで君も立派なペーパーマーク戦隊の一員だ!

この力を使えば、君のプロジェクトも、チームも、そしてクライアントとの関係も、もっともっとパワフルになるに違いない!


mfts/papermark




面倒なSNS投稿はコードで解決。Postizを使って開発に集中できる環境を手に入れよう

今日は「SNSの投稿管理が面倒で、開発に集中できない」…そんなお悩みにぴったりの「Postiz」という一杯(ツール)をご用意しました。これ、ただの予約投稿ツールじゃないんです。中身は TypeScript と Redis で構成された、フルスタックなオープンソース界の期待の新星ですよ。


ACL 2025発表の「Dolphin」がエンジニアにもたらす変革

おいおい、今日のバーベキュー、最高の肉が手に入ったぜ! あ、〇〇ちゃん、今日もお肉焼くの上手だね!「いやぁ、そんなことないっすよ。この網の熱を均一にする技術、まるでドキュメントのレイアウトを完璧に読み取るAIみたいじゃないですか!」え?なんだって?


Rust製ゲームエンジン「Bevy」入門:シンプルなレシピで始めるゲーム開発

Bevyは、Rustという銘柄の最高級スピリッツを使って作られた、とびきりシンプルで爽やかなゲームエンジンです。普通のゲームエンジンは、いろいろな素材が混ざり合って、ちょっと複雑で重たいカクテルになりがちですが、Bevyはまるでジンとトニックのように、シンプルだけど奥深い味わいが特徴です。


プロジェクト管理の「真犯人」Worklenz/worklenzをエンジニアが徹底解剖!

そう、Worklenz/worklenz。このツールこそが、あなたのチームのプロジェクト管理における「犯人」…つまり、これまであなた方を悩ませてきた非効率性の正体を暴き、すべてを解決する救世主となるのです!ソフトウェアエンジニアの皆さん、よく聞いてください。このWorklenz/worklenzは、まさに皆さんのための「万能ツール」です。では、どのように皆さんの役に立つのか、その全貌を暴いていきましょう。


コンテキストスイッチをゼロへ。Open-source AI Coworker「Rowboat」導入ガイド

「投資詐欺に注意」という標語のように、IT業界も「 AI ツールなら何でも魔法のように解決してくれる」という甘い言葉には注意が必要ですが、この Rowboat は、エンジニアにとってかなり「堅実で実利のある」ツールになり得るポテンシャルを秘めています。


evershopで実現するヘッドレスコマース:開発効率を最大化するReact/TypeScriptの活用法

evershopは、TypeScriptベースのオープンソースEコマースプラットフォームで、特にReactを活用している点が大きな特徴です。エンジニアにとって、モダンな技術スタックで構築されていることが、まず大きな魅力になります。evershopは、単なるショッピングカートシステム以上の、開発者フレンドリーな構造を持っています。


【エンジニア必見】面倒な認証はComposioに丸投げ!800以上のツールとAIを繋ぐ方法

AIに「何かやっといて」と言っても、「やり方は知っていますが、ボタンは押せません」なんて言われたら、喉ごしが悪いですからね。アサヒ(キレ担当) 「おい、最近のAIエージェント、頭ばっかり良くなって行動が伴ってないんじゃないか? 喉ごし(UX)がガツンと来ないんだよ!」


ソフトウェアエンジニアのためのバーチャルオフィス workadventure徹底解説

workadventureは、ソフトウェア開発のワークフローに多くのメリットをもたらします。チームのコラボレーションを強化 物理的な距離がある場合でも、チームメンバーが同じバーチャル空間にいる感覚を味わえます。これにより、偶発的な会話が生まれやすくなり、チーム内のコミュニケーションが活性化されます。