Windowsソフト公開中。情報技術を学校等で学術的に学んでいない学生がAIを利用して開発中。
はじめに
以前、「【技術に関する情報量0】ソフトウェアを開発中。なお詳細無し。」という記事を投稿しました。
2026年2月17日の記事です。
当時は開発中のソフトウェアについて、目的や具体的な機能をほとんど明らかにしていませんでした。
それから開発を続け、現在は PDF Note Workspace という名前でソフトウェアとソースコードをGitHub上に公開しています。
公開自体は以前から行っていましたが、紹介サイトや詳細なドキュメント、配布形式などの整備も進んだため、改めて記事にすることにしました。
今回は、前回明らかにしなかったソフトウェアの内容、技術構成、公開状況について紹介します。
1. 開発していたもの
開発していたのは、大学の講義で使うPDF資料を扱うWindows向けソフトウェアです。
PDF Note Workspace と名付けています。
PDFを閲覧しながら注釈を付け、同じ画面で独立したノートを作成できます。
開発の動機は、大学の講義で感じた不便でした。
PDF資料をブラウザで開いて書き込む際、日本語の字体や注釈文字の表示に問題が生じることがありました。
また、PDFの閲覧ソフトとノートを作成するソフトを別々に扱うことにも不便を感じていました。
そこで、資料を読む、書き込む、ノートを作成する、後から整理して見返すという一連の作業を、一つの環境で行うことを目指しました。
2. 何ができるのか
現在、主に次の機能を実装しています。
- PDFの閲覧、検索、テキスト選択
- マーカー、下線、手書き、テキスト、図形、数式などの注釈
- PDFと並行したテキストノートの編集
- Markdownや独自記法による文字装飾
- 授業・回次ごとの資料整理
- PDF上のリンクからノート内の特定位置への移動
- 注釈付きPDF、PNG、テキストなどの出力
- 複数タブに対応した閲覧専用ソフト
- 編集内容の一時保護、バックアップ、復旧
ノートは独自の .clro 形式のほか、Markdownや通常のテキスト形式も扱えます。
また、通常版ではDOCXやPPTXをPDFに変換する試験的な機能も用意しています。
機能の詳細や操作方法については紹介サイトにまとめています。
3. PDFと書き込みを分離する
PDF Note Workspaceの特徴の一つは、元のPDFファイルを書き換えずに注釈を保存することです。
例えば、次のようなファイル構成になります。
講義資料/
├── 第1回.pdf
├── 第1回.clrop
└── 講義ノート.clro
それぞれのファイルの役割は次のとおりです。
| ファイル | 役割 |
|---|---|
.pdf |
元のPDF資料 |
.clrop |
PDFへの注釈データ |
.clro |
独立したテキストノート |
.clrop には、線の座標や色、追加した文字などをJSON形式で記録しています。
元のPDFと書き込みを分けておくことで、配布された資料を変更せずに注釈を追加・編集できます。
一方、PDFと注釈ファイルは対応しているため、ほかのPCへコピーしたり移動したりする際には、両方を扱う必要があります。
一般的なPDF閲覧ソフトなどで注釈を含む資料を使いたい場合には、注釈を含んだ新しいPDFとして出力することもできます。
また、編集途中のデータを保護する仕組みや、保存できなかった内容を確認して復旧する機能も実装しています。
ファイル形式や保存の仕様については、以下のドキュメントで説明しています。
4. 開発に利用した技術
前回の記事では、C++を利用していることだけを明らかにしました。
現在の主な技術構成は次のとおりです。
| 用途 | 技術 |
|---|---|
| プログラミング言語 | C++17 |
| 対応OS | Windows x64 |
| GUI | Win32 API |
| 描画 | GDI / GDI+ |
| PDF処理 | PDFium |
| Markdown解析 | MD4C |
| Office文書変換 | LibreOffice |
GUIにはQtやElectronなどのフレームワークを使わず、Windows APIを直接利用しています。
PDFの表示にはPDFiumを利用し、その上に注釈やノート編集などの機能を実装しています。
ソースコードはGitHubで公開しています。
PDF Note Workspace GitHubリポジトリ
5. AIを利用した開発
前回の記事でも書いたとおり、AIを利用して開発しています。
私は情報技術を学校などで専門的・学術的に学んできた学生ではありません。
プログラミング自体には以前から触れていましたが、本ソフトウェアではAIにコードの作成や修正、問題の調査などを行わせながら開発を進めてきました。
私自身は、作りたい機能やプロジェクトの方向性を決め、実際に動作を確認しながら改善を続けています。
一方、ソフトウェアを開発できたことと、自分自身がプログラミングの技術を習得できたことは別の話です。
この点については、前回の記事で挙げた懸念事項とあわせて後述します。
なお、具体的な開発方法やAIとの役割分担については、別記事でインタビュー形式により詳しく扱います。
6. 公開状況
2026年11月4日時点で、GitHub Releasesに公開している最新バージョンは v0.9.555 です。
日本語版と英語版を用意し、それぞれ通常版とLite版に分けています。
通常版にはOffice文書をPDFへ変換するためのLibreOffice実行環境を含めています。
Lite版はその機能を省いた小容量版です。PDFの閲覧・注釈・ノート編集を中心に利用する場合はこちらも選べます。
いずれもWindows x64向けで、ZIPを展開して実行する形式です。インストーラーやアカウント登録は必要ありません。
また、ソフトウェア本体だけでなく、操作方法や設計に関する資料も公開しています。
| 公開先 | 内容 |
|---|---|
| 紹介サイト | ソフトウェアの概要と主な機能 |
| GitHub Releases | 配布ZIP、更新内容、注意事項 |
| 文書ポータル | 操作方法、仕様、保存・復旧など |
| GitHubリポジトリ | ソースコード、Issue、ライセンス |
本体コードと別ライセンスの指定がない同梱素材は、zlib License で公開しています。
第三者ライブラリなどには、それぞれのライセンスが適用されます。
7. 前回の記事で挙げた懸念事項
前回の記事では、主に「セキュリティ」と「技術が身につかないこと」を懸念事項として挙げていました。
その後について報告します。
セキュリティ
現在のソフトウェアでは、外部通信を実装せず、PDFの閲覧や注釈、ノート編集などをローカルで処理する設計を採用しています。
また、元のPDFと注釈データの分離、編集内容の保護、バックアップ、復旧機能などを実装しています。
ただし、これらによってソフトウェアの安全性が保証されるわけではありません。
実装の不具合や想定外の操作に起因する問題については、引き続き検証が必要です。
ソースコードや設計に関する資料も公開しているため、第三者が内容を確認することはできます。
私自身は具体的な実装を十分に説明・検証できるわけではありませんが、プロジェクトの方針や採用・不採用の判断については、開発者として説明する立場にあります。
技術習得
コードを書く技術は全く身につきませんでした。
開発を続け、実際に動作するソフトウェアを公開することはできました。
しかし、それによって私自身がC++のコードを書けるようになったわけではありません。
うろ覚えで言えるのは、#include でヘッダーを読み込むことや、cout << で出力すること、main が処理のエントリポイントであることくらいです。
開発を通じて触れた知識はあっても、自分でC++のプログラムを十分に書ける状態にはなっていません。
前回挙げた懸念については、このような結果です。
8. 完成期限について
前回の記事では、2025年度中にソフトウェアを完成させることを目標としていました。
しかし、この期限は守れませんでした。
一方で、ソフトウェア自体は以前からGitHubで公開しており、公開後も開発を続けてきました。
開発中には、何度も「このくらいなら一区切りにしてもよい」と思う時期がありました。
しかし、さらに完成度を高めたいという思いや、公開後に期待される水準などを考えるうちに、完成と呼ぶ時期を先送りしてきました。
現在も開発中であり、完成したという扱いにはしていません。
ただし、当初の目的だった、日本語の表示や注釈に困らず、PDFとテキストノートを一緒に扱える環境は、すでに実現しています。
公開することと、完成したと判断することは別です。
現在は、実行可能な配布物、ソースコード、利用方法や仕様に関するドキュメントを公開しながら、引き続き改善を行っています。
おわりに
前回は開発中であることだけを報告しましたが、今回は実際に何を作っていたのかを紹介しました。
大学の講義で感じた不便をきっかけに、AIを利用してWindowsソフトウェアの開発を続けてきました。
コードを書く技術は身につきませんでしたが、実際に動作し、自分でも利用したいと思えるソフトウェアを作ることはできました。
開発はまだ続いています。
次の記事では、AIを利用した開発の具体的な過程や、開発中の判断、技術習得についての考えなどを、インタビュー形式で取り上げます。
ここまでお読みいただき、ありがとうございました。
本記事の下書きと推敲には生成AIを利用しています。
