tomo2chin2 commited on
Commit
efd39ff
·
verified ·
1 Parent(s): 192803e

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +163 -7
README.md CHANGED
@@ -1,12 +1,168 @@
1
  ---
2
- title: HTML2PDF API
3
- emoji: 🐠
4
- colorFrom: red
5
- colorTo: indigo
6
- sdk: gradio
7
- sdk_version: 5.35.0
8
  app_file: app.py
 
9
  pinned: false
 
 
 
 
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: HTML to PDF Converter
3
+ emoji: 📄
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: docker
 
7
  app_file: app.py
8
+ app_port: 7860
9
  pinned: false
10
+ short_description: Convert HTML content to A4 PDF with Japanese font support
11
+ python_version: 3.10
12
+ fullWidth: true
13
+ header: default
14
  ---
15
 
16
+ # HTML to PDF Converter
17
+
18
+ 日本語対応のHTML→PDF変換APIです。複雑なレイアウトやWebフォントを含むHTMLコンテンツを、正確にA4サイズのPDFに変換します。
19
+
20
+ ## 🌟 主な機能
21
+
22
+ - **日本語完全対応**: Noto Sans JP、Noto Serif JPフォントをサポート
23
+ - **A4サイズ出力**: 210mm × 297mm の正確なサイズ
24
+ - **複雑レイアウト対応**: CSSグリッド、フレックスボックス、2カラムレイアウト
25
+ - **外部リソース対応**: Google Fonts、FontAwesome、外部CSSの読み込み
26
+ - **印刷メディア最適化**: @media print スタイルの適用
27
+ - **ページ区切り制御**: 明示的なページブレーク機能
28
+
29
+ ## 🚀 使い方
30
+
31
+ ### WebインターフェースAPI
32
+
33
+ 1. `/docs` にアクセスしてSwagger UIを使用
34
+ 2. `/convert` エンドポイントにHTMLコンテンツをPOST
35
+ 3. 返されたURLからPDFファイルをダウンロード
36
+
37
+ ### cURLでの使用例
38
+
39
+ ```bash
40
+ curl -X POST "https://your-space-url/convert" \
41
+ -H "Content-Type: application/json" \
42
+ -d '{"html_content": "<html><body><h1>テスト</h1></body></html>"}'
43
+ ```
44
+
45
+ ### ページ区切りの指定
46
+
47
+ ```html
48
+ <div class="page">
49
+ <!-- 1ページ目の内容 -->
50
+ </div>
51
+ <div class="page">
52
+ <!-- 2ページ目の内容 -->
53
+ </div>
54
+ ```
55
+
56
+ ## 📋 サポートする機能
57
+
58
+ - **HTMLタグ**: 全てのHTML5タグ
59
+ - **CSSスタイル**: CSS3全般、フレックスボックス、グリッド
60
+ - **フォント**: Google Fonts、システムフォント、Webフォント
61
+ - **アイコン**: FontAwesome、その他アイコンフォント
62
+ - **画像**: PNG、JPG、SVG(Base64埋め込み推奨)
63
+ - **テーブル**: 複雑なテーブルレイアウト
64
+ - **レスポンシブ**: 印刷メディアクエリ対応
65
+
66
+ ## ⚡ 技術仕様
67
+
68
+ - **PDF生成エンジン**: Playwright (Chromium)
69
+ - **フォントサポート**: Noto Sans JP、Noto Serif JP
70
+ - **ページサイズ**: A4 (210mm × 297mm)
71
+ - **マージン**: 15mm (上下左右)
72
+ - **解像度**: 高品質印刷対応
73
+ - **文字エンコーディング**: UTF-8
74
+
75
+ ## 🔧 API仕様
76
+
77
+ ### エンドポイント
78
+
79
+ - **POST /convert**: HTMLをPDFに変換してHugging Faceリポジトリに保存
80
+ - **GET /download/{filename}**: PDFファイルをダウンロード(HFリポジトリへリダイレクト)
81
+ - **GET /docs**: Swagger UI APIドキュメント
82
+ - **GET /health**: ヘルスチェック
83
+ - **GET /files**: Hugging Faceリポジトリ内のPDFファイル一覧
84
+
85
+ ### 入力フォーマット
86
+
87
+ 完全なHTMLドキュメントまたはHTMLフラグメントを受け付けます。
88
+
89
+ ```html
90
+ <!DOCTYPE html>
91
+ <html lang="ja">
92
+ <head>
93
+ <meta charset="UTF-8">
94
+ <title>サンプル文書</title>
95
+ <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel="stylesheet">
96
+ <style>
97
+ body { font-family: 'Noto Sans JP', sans-serif; }
98
+ .page { page-break-after: always; }
99
+ </style>
100
+ </head>
101
+ <body>
102
+ <div class="page">
103
+ <h1>ページ1</h1>
104
+ <p>内容...</p>
105
+ </div>
106
+ <div class="page">
107
+ <h1>ページ2</h1>
108
+ <p>内容...</p>
109
+ </div>
110
+ </body>
111
+ </html>
112
+ ```
113
+
114
+ ### 出力フォーマット
115
+
116
+ - **ファイル形式**: PDF
117
+ - **ファイル名**: `document_YYYYMMDD_HHMMSS_<UUID>.pdf`
118
+ - **保存先**: Hugging Face データセットリポジトリ(環境変数で設定)
119
+ - **ダウンロード**: Hugging Face上の直接URLから即座にダウンロード可能
120
+
121
+ ## 🎯 使用例
122
+
123
+ ### 医療レポート
124
+ 歯科医学論文のサマリーや医療レポートの生成
125
+
126
+ ### ビジネス文書
127
+ 提案書、報告書、プレゼンテーション資料
128
+
129
+ ### 学術論文
130
+ 研究レポート、学会発表資料
131
+
132
+ ### 技術文書
133
+ API仕様書、開発ドキュメント
134
+
135
+ ## 🛠️ 開発者向け情報
136
+
137
+ このSpaceは以下の技術で構築されています:
138
+
139
+ - **FastAPI**: RESTful API フレームワーク
140
+ - **Playwright**: ヘッドレスブラウザでのPDF生成
141
+ - **Chromium**: レンダリングエンジン
142
+ - **Uvicorn**: ASGI サーバー
143
+ - **Python**: バックエンド処理
144
+
145
+ ### システム要件
146
+
147
+ - Python 3.10+
148
+ - Chromium browser dependencies
149
+ - 日本語フォントパッケージ
150
+
151
+ ### 環境変数
152
+
153
+ デプロイ時に以下の環境変数を設定してください:
154
+
155
+ - **HF_DATASET_REPO_ID**: 保存先のHugging Faceデータセットリポジトリ名(例: `username/pdf-storage`)
156
+ - **HF_TOKEN**: Hugging Face API トー���ン(書き込み権限が必要)
157
+
158
+ ## 📝 ライセンス
159
+
160
+ このプロジェクトはMITライセンスの下で公開されています。
161
+
162
+ ## 🤝 貢献
163
+
164
+ バグレポートや機能要求は、GitHubのIssuesページでお願いします。
165
+
166
+ ---
167
+
168
+ *このSpaceは、高品質な日本語PDF生成のために最適化されています。*