pptx-glimpse 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/dist/index.cjs +4531 -0
- package/dist/index.d.cts +22 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +4493 -0
- package/package.json +74 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 hirokisakabe
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# pptx-glimpse
|
|
2
|
+
|
|
3
|
+
PPTX スライドを SVG / PNG に変換する TypeScript ライブラリ。
|
|
4
|
+
|
|
5
|
+
## インストール
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install pptx-glimpse
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 使い方
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { readFileSync } from "fs";
|
|
15
|
+
import { convertPptxToSvg, convertPptxToPng } from "pptx-glimpse";
|
|
16
|
+
|
|
17
|
+
const pptx = readFileSync("presentation.pptx");
|
|
18
|
+
|
|
19
|
+
// SVG に変換
|
|
20
|
+
const svgResults = await convertPptxToSvg(pptx);
|
|
21
|
+
// [{ slideNumber: 1, svg: "<svg>...</svg>" }, ...]
|
|
22
|
+
|
|
23
|
+
// PNG に変換
|
|
24
|
+
const pngResults = await convertPptxToPng(pptx);
|
|
25
|
+
// [{ slideNumber: 1, png: Buffer, width: 960, height: 540 }, ...]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## サポート状況
|
|
29
|
+
|
|
30
|
+
PowerPoint の静的なビジュアルコンテンツの変換に対応しています。アニメーションやトランジションなど、動的な要素には対応していません。
|
|
31
|
+
|
|
32
|
+
### 対応している機能
|
|
33
|
+
|
|
34
|
+
#### 図形
|
|
35
|
+
|
|
36
|
+
| 機能 | 詳細 |
|
|
37
|
+
| -------------- | ------------------------------------------------------------------------- |
|
|
38
|
+
| プリセット図形 | 113 種類 (矩形、楕円、矢印、フローチャート、吹き出し、星形、数学記号など) |
|
|
39
|
+
| カスタム図形 | カスタムパス (moveTo, lnTo, cubicBezTo, close) による任意の図形描画 |
|
|
40
|
+
| コネクター | 線コネクターの描画、線スタイル・色・太さの設定 |
|
|
41
|
+
| グループ | 図形のグループ化、ネストされたグループ |
|
|
42
|
+
| 変形 | 位置、サイズ、回転、反転 (flipH/flipV)、調整値 |
|
|
43
|
+
|
|
44
|
+
#### テキスト
|
|
45
|
+
|
|
46
|
+
| 機能 | 詳細 |
|
|
47
|
+
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
48
|
+
| 文字書式 | フォントサイズ、フォントファミリー (東アジアフォント対応)、太字、斜体、下線、取り消し線、文字色、上付き・下付き |
|
|
49
|
+
| 段落書式 | 水平配置 (left/center/right/justify)、垂直アンカー (top/center/bottom)、行間、段落前後スペース、インデント |
|
|
50
|
+
| 箇条書き | 文字箇条書き (buChar)、自動番号 (buAutoNum、9 種類)、箇条書きフォント・色・サイズ |
|
|
51
|
+
| テキストボックス | 折り返し (square/none)、自動調整 (noAutofit/normAutofit/spAutofit)、フォントスケール、マージン |
|
|
52
|
+
| 単語折り返し | 英語・日本語・CJK テキストの折り返し、複数フォントサイズ混在時の折り返し |
|
|
53
|
+
|
|
54
|
+
#### 塗りつぶし
|
|
55
|
+
|
|
56
|
+
| 機能 | 詳細 |
|
|
57
|
+
| -------------- | -------------------------------------------------------- |
|
|
58
|
+
| ソリッドカラー | RGB 色指定、透明度 |
|
|
59
|
+
| グラデーション | 線形グラデーション、複数グラデーションストップ、角度指定 |
|
|
60
|
+
| 画像塗りつぶし | PNG/JPEG/GIF、引き伸ばし (stretch) モード |
|
|
61
|
+
| 塗りつぶしなし | noFill 指定 |
|
|
62
|
+
|
|
63
|
+
#### 線・枠線
|
|
64
|
+
|
|
65
|
+
| 機能 | 詳細 |
|
|
66
|
+
| ------------ | ------------------------------------------------------------- |
|
|
67
|
+
| 線スタイル | 線幅、ソリッドカラー、透明度 |
|
|
68
|
+
| 破線スタイル | solid, dash, dot, dashDot, lgDash, lgDashDot, sysDash, sysDot |
|
|
69
|
+
|
|
70
|
+
#### 色
|
|
71
|
+
|
|
72
|
+
| 機能 | 詳細 |
|
|
73
|
+
| ------------ | ----------------------------------------------------------------------------- |
|
|
74
|
+
| 色指定方式 | RGB (srgbClr)、テーマ色 (schemeClr)、システム色 (sysClr) |
|
|
75
|
+
| テーマカラー | カラースキーム (dk1, lt1, dk2, lt2, accent1-6, hlink, folHlink)、カラーマップ |
|
|
76
|
+
| 色変換 | 輝度調整 (lumMod/lumOff)、ティント (tint)、シェード (shade)、透明度 (alpha) |
|
|
77
|
+
|
|
78
|
+
#### エフェクト
|
|
79
|
+
|
|
80
|
+
| 機能 | 詳細 |
|
|
81
|
+
| ------------------ | ---------------------------------- |
|
|
82
|
+
| 外側の影 | ぼかし半径、距離、方向、色・透明度 |
|
|
83
|
+
| 内側の影 | ぼかし半径、距離、方向、色・透明度 |
|
|
84
|
+
| 光彩 | 半径、色・透明度 |
|
|
85
|
+
| ぼかし (Soft Edge) | 半径 |
|
|
86
|
+
|
|
87
|
+
#### 画像
|
|
88
|
+
|
|
89
|
+
| 機能 | 詳細 |
|
|
90
|
+
| -------------- | -------------------------------------------------- |
|
|
91
|
+
| 画像要素 | PNG/JPEG/GIF、位置・サイズ・回転・反転、エフェクト |
|
|
92
|
+
| 画像塗りつぶし | 図形・背景への画像塗りつぶし |
|
|
93
|
+
|
|
94
|
+
#### 表
|
|
95
|
+
|
|
96
|
+
| 機能 | 詳細 |
|
|
97
|
+
| ------------ | ---------------------------------------------------------------------- |
|
|
98
|
+
| テーブル構造 | 行・列のグリッド、セル結合 (gridSpan/rowSpan)、行の高さ・列の幅 |
|
|
99
|
+
| セルの書式 | テキスト、塗りつぶし (solid/gradient/image)、枠線 (上下左右、スタイル) |
|
|
100
|
+
|
|
101
|
+
#### グラフ
|
|
102
|
+
|
|
103
|
+
| 機能 | 詳細 |
|
|
104
|
+
| ---------- | -------------------------------------------------------------------------- |
|
|
105
|
+
| 対応グラフ | 棒グラフ (縦棒・横棒)、折れ線グラフ、円グラフ、散布図 |
|
|
106
|
+
| グラフ要素 | タイトル、凡例 (位置指定)、系列 (名前・値・カテゴリ・色)、カテゴリ軸、値軸 |
|
|
107
|
+
|
|
108
|
+
#### 背景・スライド設定
|
|
109
|
+
|
|
110
|
+
| 機能 | 詳細 |
|
|
111
|
+
| -------------- | ------------------------------------------------------------------------------------ |
|
|
112
|
+
| 背景 | ソリッド、グラデーション、画像。スライド → レイアウト → マスターの順でフォールバック |
|
|
113
|
+
| スライドサイズ | 16:9、4:3、カスタムサイズ |
|
|
114
|
+
| テーマ | テーマカラースキーム、テーマフォント (majorFont/minorFont) |
|
|
115
|
+
|
|
116
|
+
### 対応していない機能
|
|
117
|
+
|
|
118
|
+
| カテゴリ | 未対応の機能 |
|
|
119
|
+
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
120
|
+
| 塗りつぶし | パターン塗りつぶし、放射状グラデーション、パスグラデーション |
|
|
121
|
+
| エフェクト | 反射、3D 回転・押し出し、アーティスティック効果 |
|
|
122
|
+
| グラフ | 面グラフ、レーダー、ドーナツ、バブル、株価、複合、ヒストグラム、ボックスプロット、ウォーターフォール、ツリーマップ、サンバースト |
|
|
123
|
+
| グラフの詳細機能 | データラベル、軸タイトル・目盛り・グリッド線、誤差範囲、トレンドライン |
|
|
124
|
+
| テキスト | 縦書きテキスト、テキスト個別のエフェクト (影・光彩)、テキストのアウトライン、テキストの列 |
|
|
125
|
+
| 表 | 表スタイルのテンプレート適用、対角線枠線 |
|
|
126
|
+
| 図形 | 図形の結合 (Union/Subtract/Intersect/Fragment) |
|
|
127
|
+
| SmartArt | SmartArt 全般 |
|
|
128
|
+
| マルチメディア | 動画・音声の埋め込み |
|
|
129
|
+
| アニメーション | オブジェクトアニメーション、スライドトランジション |
|
|
130
|
+
| リンク | ハイパーリンク |
|
|
131
|
+
| スライド要素 | スライドノート、コメント、ヘッダー・フッター、スライド番号・日付 |
|
|
132
|
+
| 画像フォーマット | EMF/WMF (パースされるがレンダリング未対応) |
|
|
133
|
+
| その他 | マクロ・VBA、セクション、ズームスライド |
|
|
134
|
+
|
|
135
|
+
## テストレンダリング
|
|
136
|
+
|
|
137
|
+
PPTX ファイルを指定して、SVG と PNG の変換結果を確認できます。
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npm run render -- <pptx-file> [output-dir]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- `output-dir` を省略すると `./output` に出力されます
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# 例
|
|
147
|
+
npm run render -- presentation.pptx
|
|
148
|
+
npm run render -- presentation.pptx ./my-output
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## ライセンス
|
|
152
|
+
|
|
153
|
+
MIT
|