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


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

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


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

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


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

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


ダイエット中の俺が解説!Frappe/HRMSで実現するスマート人事!

今日はね、みんながソフトウェアエンジニアとしてバリバリ働く上で、とっても役に立つかもしれない強力なツール、その名も「frappe/hrms」について、コント風に解説していくぞ!ダイエット中の俺と一緒に、この素晴らしいオープンソースHR・給与計算ソフトウェアの魅力に迫ってみよう!


OpenArm徹底解説:ソフトウェアエンジニアが知るべき物理AI研究プラットフォーム

特に、機械学習やロボティクスに興味がある方にとっては、理論だけでなく、実際に物理的なシステムを動かし、データを収集し、検証できる貴重な基盤となります。OpenArmは、完全なオープンソースとして、ソフトウェアエンジニアが最先端のAI研究を実機で進める上で、大きなメリットを提供します。


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

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


親分直伝!microsoft/markitdownでITの道を極める

一言で言えば、これは「厄介なファイルをMarkdownに変換してくれる、Pythonの便利な道具」だ。お前ら、資料作りでPDFやWordなんかを触ることも多いだろう? あんなもん、そのままじゃ扱いにくい時もある。Markdownってのは、シンプルで読みやすくて、色々なとこで使える便利なフォーマットだ。このmarkitdownは、そんなPDFやWordなんかのファイルを、Markdownという形に変えてくれるんだ。


AIとの禁断の関係?システムプロンプトでAIを操る方法

この「x1xhlol/system-prompts-and-models-of-ai-tools」は、色々なAIツール(CursorとかDevinとかReplit Agentとか、数えきれないほどのAI界のイケメン・美女たち)が裏でどんな「システムプロンプト」(AIへの指示書みたいなもの)を使っているか、そしてどんなAIモデルが動いているのかを、こっそり教えてくれちゃう宝の山なんです!


自社サービスにAIチャットを組み込む!huggingface/chat-uiの機能とカスタマイズ方法

これは、Hugging Faceが提供するチャットアプリケーション「HuggingChat」の基盤となっている、オープンソースのチャットUIコードベースです。大規模言語モデル(LLM)との対話インターフェースを、自分の環境で構築・カスタマイズしたい場合に非常に強力なツールとなります。