镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 6 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ English | <a href="documents/README.zh-CN.md">简体中文</a> | <a href="docume

Your star or donation helps sustain the project.

🤝 **Looking for co-developers:** [Contribute with AI](#contribute-with-ai)

</div>

MiniPdf converts Office documents directly to PDF without Microsoft Office,
Expand Down Expand Up @@ -155,41 +157,17 @@ MiniPdf targets practical document conversion, not complete Microsoft Office
layout compatibility. Complex templates may render differently; use the online
demo or benchmark reports to evaluate representative files.

<a id="contribute-with-ai"></a>

## Contribute compute time

Open a clean fork or clone in GitHub Copilot, Claude Code, Cursor, Codex, or any
coding agent that can edit files and run PowerShell. The easiest way to
contribute is to paste this prompt into the agent chat:
Open a clean fork or clone in any coding agent, then paste this prompt into the
agent chat:

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

The universal PowerShell entry point detects `dotnet` and `cargo`, then randomly
chooses one of the installed implementations:

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

Pass `-Implementation dotnet` or `-Implementation rust` to override the random
choice. The selected implementation is stored for every later action in the run.

The contribution loop checks the toolchain, installs benchmark Python packages,
creates a local branch, and selects the chosen renderer's two lowest-scoring
visual differences. The agent gets up to three attempts per case; an attempt
that does not improve the score is automatically rolled back before moving on.
Accepted changes must pass that implementation's full test suite and XLSX/DOCX
visual benchmarks without a meaningful regression before a pull request is allowed.

Both paths require Git, Python 3.10+, and LibreOffice. Choose .NET with the .NET
9 SDK, or Rust with Cargo plus desktop Excel and Word for its current primary
visual references. The workflow checks whether authenticated GitHub CLI is
available; if it is not, it generates the PR title, body, push command, and browser URL instead. See the
[contribution guide](CONTRIBUTING.md) for Copilot, Claude Code, Cursor, Codex,
terminal shortcuts, and safety rules. The workflow never commits, pushes, or
opens a PR without your approval.

## Project resources

| Resource | Description |
Expand Down
18 changes: 5 additions & 13 deletions documents/README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

Votre étoile ou votre don contribue à soutenir le projet.

🤝 **Nous recherchons des co-développeurs :** [Contribuer avec l'IA](#contribute-with-ai)

</div>

MiniPdf convertit directement les documents Office en PDF sans nécessiter Microsoft Office, LibreOffice, Adobe Acrobat ni automatisation COM à l'exécution. Choisissez l'implémentation adaptée à votre projet.
Expand Down Expand Up @@ -148,26 +150,16 @@ Le [guide Go](../minipdf-go/README.md) décrit le paquet, la CLI native, le pér

MiniPdf vise une conversion pratique des documents, et non une compatibilité totale avec la mise en page de Microsoft Office. Les modèles complexes peuvent être rendus différemment ; utilisez la démo en ligne ou les rapports de benchmark pour évaluer des fichiers représentatifs.

<a id="contribute-with-ai"></a>

## Contribuer avec de la puissance de calcul

Ouvrez un fork ou clone propre dans GitHub Copilot, Claude Code, Cursor, Codex ou tout agent de programmation capable de modifier des fichiers et d'exécuter PowerShell. Le moyen le plus simple de contribuer consiste à coller cette instruction dans le chat de l'Agent :
Ouvrez un fork ou clone propre dans n'importe quel agent de programmation, puis collez cette instruction dans le chat de l'Agent :

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

Le point d'entrée PowerShell détecte `dotnet` et `cargo`, puis choisit aléatoirement l'une des implémentations installées :

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

Passez `-Implementation dotnet` ou `-Implementation rust` pour remplacer le choix aléatoire. L'implémentation sélectionnée est enregistrée dans l'état de la boucle pour toutes les opérations suivantes.

La boucle vérifie les outils, installe les paquets Python du benchmark, crée une branche locale et sélectionne les deux écarts visuels ayant les scores les plus faibles pour le moteur choisi. L'Agent effectue jusqu'à trois tentatives par cas ; sans amélioration du score, les modifications sont automatiquement annulées avant de passer au cas suivant. Une PR n'est autorisée qu'après la réussite de tous les tests de l'implémentation choisie et des benchmarks visuels XLSX/DOCX, sans régression significative.

Les deux parcours nécessitent Git, Python 3.10+ et LibreOffice. .NET nécessite le SDK .NET 9 ; Rust nécessite Cargo ainsi que les versions bureau d'Excel et Word pour produire les références visuelles principales actuelles. Si GitHub CLI n'est pas installée et authentifiée, le workflow génère le titre, le corps, la commande push et l'URL de création de la PR dans le navigateur. Consultez le [guide de contribution](../CONTRIBUTING.md) pour les raccourcis Copilot, Claude Code, Cursor, Codex et terminal, ainsi que les règles de sécurité. Aucun commit, push ou ouverture de PR n'est effectué sans approbation.

## Ressources du projet

| Ressource | Description |
Expand Down
18 changes: 5 additions & 13 deletions documents/README.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

La tua stella o donazione aiuta a sostenere il progetto.

🤝 **Cerchiamo co-sviluppatori:** [Contribuisci con l'AI](#contribute-with-ai)

</div>

MiniPdf converte direttamente i documenti Office in PDF senza richiedere Microsoft Office, LibreOffice, Adobe Acrobat o automazione COM durante l'esecuzione. Scegli l'implementazione adatta al tuo progetto.
Expand Down Expand Up @@ -148,26 +150,16 @@ La [guida Go](../minipdf-go/README.md) descrive il pacchetto, la CLI nativa, l'a

MiniPdf punta alla conversione pratica dei documenti, non alla compatibilità completa con il layout di Microsoft Office. I modelli complessi possono essere visualizzati diversamente; usa la demo online o i report di benchmark per valutare file rappresentativi.

<a id="contribute-with-ai"></a>

## Contribuire con potenza di calcolo

Apri un fork o clone pulito in GitHub Copilot, Claude Code, Cursor, Codex o qualsiasi agente di programmazione capace di modificare file ed eseguire PowerShell. Il modo più semplice per contribuire è incollare questa istruzione nella chat dell'Agent:
Apri un fork o clone pulito in qualsiasi agente di programmazione, quindi incolla questa istruzione nella chat dell'Agent:

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

Il punto di ingresso PowerShell rileva `dotnet` e `cargo`, quindi sceglie casualmente una delle implementazioni installate:

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

Passa `-Implementation dotnet` o `-Implementation rust` per ignorare la scelta casuale. L'implementazione selezionata viene salvata nello stato del ciclo per tutte le operazioni successive.

Il ciclo controlla gli strumenti, installa i pacchetti Python per i benchmark, crea un branch locale e seleziona le due differenze visive con il punteggio più basso per il renderer scelto. L'Agent effettua fino a tre tentativi per caso; se il punteggio non migliora, ripristina automaticamente le modifiche e passa al caso successivo. La PR è consentita solo dopo il superamento di tutti i test dell'implementazione scelta e dei benchmark visivi XLSX/DOCX senza regressioni significative.

Entrambi i percorsi richiedono Git, Python 3.10+ e LibreOffice. .NET richiede .NET 9 SDK; Rust richiede Cargo e le versioni desktop di Excel e Word per generare gli attuali riferimenti visivi principali. Se GitHub CLI non è installata e autenticata, il flusso genera titolo, corpo, comando push e URL per creare la PR dal browser. Consulta la [guida ai contributi](../CONTRIBUTING.md) per le scorciatoie di Copilot, Claude Code, Cursor, Codex e terminale e per le regole di sicurezza. Non esegue commit, push o apertura della PR senza approvazione.

## Risorse del progetto

| Risorsa | Descrizione |
Expand Down
18 changes: 5 additions & 13 deletions documents/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

スターや寄付がプロジェクトの継続的な発展を支えます。

🤝 **共同開発者を募集中:**[AI で貢献する](#contribute-with-ai)

</div>

MiniPdf は、実行時に Microsoft Office、LibreOffice、Adobe Acrobat、COM オートメーションを必要とせず、Office 文書を直接 PDF に変換します。プロジェクトに合う実装を選択してください。
Expand Down Expand Up @@ -148,26 +150,16 @@ if err := minipdf.ConvertToPDF("report.docx", "report.pdf"); err != nil {

MiniPdf は実用的な文書変換を目的としており、Microsoft Office のレイアウトを完全に再現するものではありません。複雑なテンプレートは表示が異なる場合があるため、オンラインデモやベンチマークレポートで代表的なファイルを評価してください。

<a id="contribute-with-ai"></a>

## 計算リソースで貢献する

クリーンな fork または clone を GitHub Copilot、Claude Code、Cursor、Codex、またはファイル編集と PowerShell 実行が可能な任意のコーディング Agent で開きます。最も簡単な方法は、次の指示を Agent のチャットに貼り付けることです。
任意のコーディング Agent でクリーンな fork または clone を開き、次の指示を Agent のチャットに貼り付けます。

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

共通の PowerShell エントリーポイントは `dotnet` と `cargo` を検出し、インストール済みの実装から 1 つをランダムに選択します。

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

ランダム選択を上書きするには、`-Implementation dotnet` または `-Implementation rust` を指定してください。選択した実装は、このループの後続操作で使用する状態に保存されます。

この貢献ループはツールチェーンを確認し、ベンチマーク用 Python パッケージをインストールしてローカルブランチを作成し、選択したレンダラーで視覚スコアが最も低い差分を 2 件選びます。Agent は各ケースを最大 3 回修正し、スコアが改善しなければ自動的に元へ戻して次へ進みます。選択した実装の全テストと XLSX/DOCX 視覚ベンチマークを通過し、重大な回帰がない場合にのみ PR を作成できます。

どちらも Git、Python 3.10 以降、LibreOffice が必要です。.NET には .NET 9 SDK、Rust には Cargo と現在の主要な視覚参照を生成するデスクトップ版 Excel/Word が必要です。認証済み GitHub CLI がなければ、PR のタイトル、本文、push コマンド、ブラウザー URL を生成します。Copilot、Claude Code、Cursor、Codex、ターミナルのショートカットと安全規則は[貢献ガイド](../CONTRIBUTING.md)を参照してください。承認なしに commit、push、PR 作成を行うことはありません。

## プロジェクトリソース

| リソース | 説明 |
Expand Down
18 changes: 5 additions & 13 deletions documents/README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

스타 또는 후원은 프로젝트가 지속되는 데 도움이 됩니다.

🤝 **공동 개발자를 찾고 있습니다:** [AI로 기여하기](#contribute-with-ai)

</div>

MiniPdf는 런타임에 Microsoft Office, LibreOffice, Adobe Acrobat 또는 COM 자동화 없이 Office 문서를 PDF로 직접 변환합니다. 프로젝트에 맞는 구현을 선택하세요.
Expand Down Expand Up @@ -148,26 +150,16 @@ if err := minipdf.ConvertToPDF("report.docx", "report.pdf"); err != nil {

MiniPdf는 실용적인 문서 변환을 목표로 하며 Microsoft Office 레이아웃을 완전히 재현하지는 않습니다. 복잡한 템플릿은 다르게 렌더링될 수 있으므로 온라인 데모나 벤치마크 보고서로 대표 파일을 평가하세요.

<a id="contribute-with-ai"></a>

## 컴퓨팅 자원으로 기여하기

GitHub Copilot, Claude Code, Cursor, Codex 또는 파일 편집과 PowerShell 실행이 가능한 모든 코딩 Agent에서 깨끗한 fork 또는 clone을 여세요. 가장 간단한 방법은 다음 지시문을 Agent 채팅에 붙여 넣는 것입니다.
원하는 코딩 Agent에서 깨끗한 fork 또는 clone을 연 다음 아래 지시문을 Agent 채팅에 붙여 넣으세요.

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

공통 PowerShell 진입점은 `dotnet`과 `cargo`를 감지한 다음 설치된 구현 중 하나를 무작위로 선택합니다.

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

무작위 선택을 재정의하려면 `-Implementation dotnet` 또는 `-Implementation rust`를 전달하세요. 선택된 구현은 이후 모든 작업에서 사용할 수 있도록 이번 루프 상태에 저장됩니다.

기여 루프는 도구 체인을 확인하고, 벤치마크 Python 패키지를 설치하고, 로컬 브랜치를 만든 뒤 선택한 렌더러에서 시각 점수가 가장 낮은 차이 두 건을 선택합니다. Agent는 사례별로 최대 세 번 수정하며 점수가 개선되지 않으면 자동으로 되돌리고 다음 사례로 이동합니다. 선택한 구현의 전체 테스트와 XLSX/DOCX 시각 벤치마크를 통과하고 의미 있는 회귀가 없을 때만 PR 생성을 허용합니다.

두 경로 모두 Git, Python 3.10 이상, LibreOffice가 필요합니다. .NET에는 .NET 9 SDK가 필요하고, Rust에는 Cargo와 현재 기본 시각 참조를 생성할 데스크톱 Excel/Word가 필요합니다. 인증된 GitHub CLI가 없으면 PR 제목, 본문, push 명령 및 브라우저 URL을 생성합니다. Copilot, Claude Code, Cursor, Codex 및 터미널 바로 가기와 안전 규칙은 [기여 가이드](../CONTRIBUTING.md)를 참조하세요. 승인 없이 commit, push 또는 PR을 만들지 않습니다.

## 프로젝트 리소스

| 리소스 | 설명 |
Expand Down
18 changes: 5 additions & 13 deletions documents/README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

你的 Star 或捐赠将帮助项目持续发展。

🤝 **寻找共同开发者:**[使用 AI 参与贡献](#contribute-with-ai)

</div>

MiniPdf 无需在运行时安装 Microsoft Office、LibreOffice、Adobe Acrobat 或使用 COM 自动化,即可将 Office 文档直接转换为 PDF。请选择适合你项目的实现。
Expand Down Expand Up @@ -148,26 +150,16 @@ if err := minipdf.ConvertToPDF("report.docx", "report.pdf"); err != nil {

MiniPdf 专注于实用文档转换,不追求完全复制 Microsoft Office 版式。复杂模板的渲染可能有所不同,请使用在线演示或基准报告评估代表性文件。

<a id="contribute-with-ai"></a>

## 贡献你的算力

在 GitHub Copilot、Claude Code、Cursor、Codex,或任何可编辑文件并运行 PowerShell 的编码 Agent 中打开干净的 fork 或 clone。最简单的贡献方式是将以下指令粘贴到 Agent 聊天中:
在任意编码 Agent 中打开干净的 fork 或 clone,然后将以下指令粘贴到 Agent 聊天中:

```text
Read CONTRIBUTING.md and run the MiniPdf contribution loop from start to finish. Detect the installed supported language toolchains, randomly choose one available implementation, diagnose and improve the automatically selected benchmark cases, validate all changes, and prepare the pull request. Do not commit, push, fork, or open a pull request without my explicit approval.
```

通用 PowerShell 入口会侦测 `dotnet` 与 `cargo`,然后从已安装的实现中随机选择一个:

```powershell
.\scripts\Invoke-MiniPdfContributionLoop.ps1 -Action Start
```

如需覆盖随机选择,请传入 `-Implementation dotnet` 或 `-Implementation rust`。选定的实现会保存到本次循环的状态中,供后续所有操作使用。

贡献循环会检查工具链、安装基准测试所需的 Python 包、创建本地分支,并自动挑选所选渲染器中视觉分数最低的两个差异。Agent 对每个案例最多尝试三次;分数没有改善时会自动还原,再继续下一个案例。只有所选实现的完整测试以及 XLSX/DOCX 视觉基准都通过,且没有明显回归时,才允许创建 PR。

两条路径都需要 Git、Python 3.10+ 和 LibreOffice。.NET 需要 .NET 9 SDK;Rust 需要 Cargo,并使用桌面版 Excel 与 Word 生成目前的主要视觉参考。流程会检查是否有已认证的 GitHub CLI;若没有,则生成 PR 标题、正文、推送命令和浏览器链接。Copilot、Claude Code、Cursor、Codex 与终端的快捷方式及安全规则请参阅[贡献指南](../CONTRIBUTING.md)。未经你的确认,它不会提交、推送或创建 PR。

## 项目资源

| 资源 | 说明 |
Expand Down
Loading