【エンジニア向け】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 で構成された、フルスタックなオープンソース界の期待の新星ですよ。


もう経理で悩まない!middayで実現する快適フリーランスライフ

日々のコーディングや設計作業に加え、フリーランスには請求書作成、作業時間の記録、プロジェクトごとの収支管理など、面倒な事務作業がつきものです。middayはこれらの作業を一本化し、最小限の労力で最大の効果を得られるように設計されています。請求書作成の自動化


「6行で実現」AIエージェントに"長期記憶"を持たせる方法:topoteretes/cognee徹底解説

topoteretes/cognee は、AIエージェントに「記憶(Memory)」を持たせるためのオープンソースフレームワークです。特に注目すべきは、開発元が謳っているように、「6行のコードでAIエージェントの記憶を実現」というシンプルさと手軽さです。


分散型Webアプリの新境地!HeyPuter/puterで始める次世代開発

「HeyPuter/puter」は、一言で言うと「ブラウザ上で動くオペレーティングシステム(OS)」です。でも、ただのOSじゃありません。これはインターネットを基盤とした、分散型Webアプリケーションを構築するためのオープンソースのフレームワークなんです。JavaScriptを書いて、ブラウザ上で動くOSのような環境を作り、ファイルシステム、ウィンドウ管理、GUIツールキットなどを活用することができます。これは、まるでブラウザの中に、自分だけの「パソコン」を作るようなイメージですね。


デジタル製品・SaaS開発を加速するオープンソース決済エンジン「Polar」

Polar は、デジタル製品やSaaSを販売するためのオープンソースのエンジンだよ。簡単に言うと、開発者が決済機能やサブスクリプションの管理、ユーザー管理などをイチから作る手間を省き、本業である製品開発に集中できるようにサポートしてくれるツールなの。


PDFの壁を打ち破る:数式・表・多段組対応のデータ抽出ツール MinerUの威力

ホテルのコンシェルジュのように、このツールをどのように活用できるか、導入方法、そしてサンプルコードまで、分かりやすく丁寧にご案内しますね。MinerUは、一言でいうと「複雑なPDFなどの非構造化データを、大規模言語モデル(LLM)がすぐに使える、構造化されたデータ(MarkdownやJSON)に魔法のように変換してくれる」Pythonライブラリです。


ソフトウェアエンジニア必見!「MusicFree」で叶える自由な音楽体験とスキルアップ

やぁ、同僚諸君!最近、こんなつぶやきが聞こえてこないかい?「あー、またあの音楽アプリ、広告が邪魔すぎる!」「もっと自分好みにカスタマイズできないかなぁ」「特定のサービスに縛られずに自由に音楽を楽しみたい!」…ふむ、わかる。その気持ち、痛いほどわかるぞ。


Rust製オープンソース決済スイッチ juspay/hyperswitchで効率的な決済処理を実現!

ワシは織田信長……いや、俺はソフトウェアエンジニアの「俺」だ! 今日はな、お主らにとって、まさに「天下布武」ならぬ「決済布武」を成し遂げるかもしれない秘宝、「juspay/hyperswitch」について語ろうではないか!(ガラガラと襖が開き、厳かな音楽が流れる…)


コードの隙間を見逃さない。DeepAuditが変える、AI駆動の自律型セキュリティ運用

本日おすすめするのは、「DeepAudit」という名の、非常にキレのあるカクテル…いえ、セキュリティ監査ツールです。ソフトウェアエンジニアであるあなたにとって、これは「ただの静的解析ツール」ではありません。いわば、24時間眠らずにあなたのコードの隙間を探し続ける、熟練のホワイトハッカー・チームを雇うようなものです。


PythonでPDFを自在に操る!pdfplumberによる機密データ(表・テキスト)の座標解析と抽出

ご要望に応じて、この「pdfplumber」がエンジニアの視点からどのように役立つのか、導入方法やサンプルコードの例を、フレンドリーに分かりやすく解説しますね!「pdfplumber」は、ただPDFのテキストを読み取るだけでなく、PDFの構造そのものにアクセスできるのが最大の魅力です。これは、データ抽出の「スパイコント」に例えられます。