feat: 텍스트 문서 5종 양방향 변환 매트릭스 (DocumentProvider)
신규 DocumentProvider — html/htm/hwp/hwpx/docx/doc/md/markdown/txt 입력 →
html/docx/md/txt 출력 (HWP 출력은 H2Orestart 한계로 미지원).
라우팅 (멀티홉)
- {docx, html, txt, hwp} ↔ {docx, html, txt}: LibreOffice --convert-to
- md → html: Markdig (advanced extensions)
- html → md: ReverseMarkdown (GitHub flavored)
- md → docx/txt: md → html(Markdig) → LibreOffice 체인
- {docx, html, hwp} → md: → html(LibreOffice) → md(ReverseMarkdown) 체인
- md ↔ txt, html ↔ html 등: trivial copy
- txt → html: pre-wrapped HTML 인코딩
NuGet 추가
- Markdig 0.37.0
- ReverseMarkdown 4.6.0 (HtmlAgilityPack 의존성 자동 포함)
UI/메뉴 갱신
- AllFormats에 .html, .md 추가 (총 12종)
- PopularOutputs 카스케이드 12개로 확장:
JPEG/PNG/WebP/PDF/Word/HTML/MD/TXT/AVIF/GIF/TIFF/BMP
요구 외부 도구: LibreOffice (DocxProvider/HwpxProvider와 공통)
MSIX 갱신: Markdig.dll + ReverseMarkdown.dll + HtmlAgilityPack.dll 포함
This commit is contained in:
parent
50a195f9db
commit
25bebb46bf
5 changed files with 305 additions and 16 deletions
|
|
@ -812,16 +812,18 @@ public partial class MainWindow : Wpf.Ui.Controls.FluentWindow
|
|||
|
||||
private static readonly OutputFormatInfo[] AllFormats =
|
||||
{
|
||||
new(".jpg", "JPEG", "JPG", "FsFmtJpg"),
|
||||
new(".png", "PNG", "PNG", "FsFmtPng"),
|
||||
new(".webp", "WebP", "WEBP", "FsFmtWebp"),
|
||||
new(".avif", "AVIF", "AVIF", "FsFmtAvif"),
|
||||
new(".bmp", "BMP", "BMP", "FsFmtBmp"),
|
||||
new(".tif", "TIFF", "TIF", "FsFmtTiff"),
|
||||
new(".gif", "GIF", "GIF", "FsFmtGif"),
|
||||
new(".pdf", "PDF", "PDF", "FsFmtPdf"),
|
||||
new(".txt", "텍스트 (OCR)", "TXT", "FsFmtOther"),
|
||||
new(".docx", "Word (OCR)", "DOCX", "FsFmtDocx"),
|
||||
new(".jpg", "JPEG", "JPG", "FsFmtJpg"),
|
||||
new(".png", "PNG", "PNG", "FsFmtPng"),
|
||||
new(".webp", "WebP", "WEBP", "FsFmtWebp"),
|
||||
new(".avif", "AVIF", "AVIF", "FsFmtAvif"),
|
||||
new(".bmp", "BMP", "BMP", "FsFmtBmp"),
|
||||
new(".tif", "TIFF", "TIF", "FsFmtTiff"),
|
||||
new(".gif", "GIF", "GIF", "FsFmtGif"),
|
||||
new(".pdf", "PDF", "PDF", "FsFmtPdf"),
|
||||
new(".docx", "Word", "DOCX", "FsFmtDocx"),
|
||||
new(".html", "HTML", "HTML", "FsFmtHtml"),
|
||||
new(".md", "Markdown", "MD", "FsFmtOther"),
|
||||
new(".txt", "텍스트", "TXT", "FsFmtOther"),
|
||||
};
|
||||
|
||||
private bool _suppressFormatChanged;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue