# document2llm **Repository Path**: sdk-apis/document2llm ## Basic Information - **Project Name**: document2llm - **Description**: 文档转为 markdown的调用方式 虽然很多AI支持上传pptx 、word 、 pdf 、。。 但是,直接上传大部分信息是累赘的,例如文档里的图片,并不会被解析。一方面需要耗费大量的网络流量, 另一方面,浪费文档空间。 此项目,可以对文档进行初步预处理,得到轻量级的文档。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-04 - **Last Updated**: 2025-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文档转为 markdown的调用方式 ## 此代码的价值 虽然很多AI支持上传pptx 、word 、 pdf 、。。 但是,直接上传大部分信息是累赘的,例如文档里的图片,并不会被解析。一方面需要耗费大量的网络流量, 另一方面,浪费文档空间。 此项目,可以对文档进行初步预处理,得到轻量级的文档。 ## 关于pdf的转换 marker 这个的转换质量比较好 ### gradio 整合的版本 ```bash # 针对 air export PYTHON=${PYTHON}:/opt/miniconda3/lib/python3.12/site-packages/ # 针对 mac max m1 # conda activate gpu_torch_py3.11 python3 -m document2llm.md.marker.marker_pdf2markdown_gradio ``` ### 单个文件转换 ```bash # 针对 air export PYTHON=${PYTHON}:/opt/miniconda3/lib/python3.12/site-packages/ # 针对 mac max m1 # conda activate gpu_torch_py3.11 input_pdf="/Users/emery/2-Pre/test.pdf" output_folder="/Users/emery/Downloads/pdf2markdown-solution-output-dir-v2" python3 -m document2llm.md.marker.marker_pdf2markdown ${input_pdf} ${output_folder} \ --batch_multiplier 1 \ --max_pages 1000 ``` ### 整个文件夹批量 ```bash # 针对 air export PYTHON=${PYTHON}:/opt/miniconda3/lib/python3.12/site-packages/ # 针对 mac max m1 # conda activate gpu_torch_py3.11 input_pdf="/Users/emery/2-Pre/UCAS-ppt-slide/信息论/" output_folder="/Users/emery/Downloads/pdf2markdown-solution-output-dir-v2" python3 -m document2llm.md.marker.marker_pdf2markdown ${input_pdf} ${output_folder} \ --batch_multiplier 1 --is_directory_input 1 \ --max_pages 1000 ``` ## 整个文件夹转换 可以通过以下方式运行: ```bash python3 -m document2llm.md.batch_universal_to_markdown -i test-input-folder -o output_markdown_folder ``` 或者 使用python代码 ```python from document2llm.md.batch_universal_to_markdown import BatchUniversalToMarkdownProcessor batch_processor = BatchUniversalToMarkdownProcessor("input_documents", "output_markdown") batch_processor.process() ``` ## 筛选文件 ```bash # 使用默认配置文件 python3 -m document2llm.io.batch_file_filter -i input_documents -o output_filtered # 使用自定义配置文件 python3 -m document2llm.io.batch_file_filter -i input_documents -o output_filtered -c custom_config.yml ``` 或者在Python代码中: ```python from document2llm.io.batch_file_filter import BatchFileFilterProcessor # 使用默认配置文件 processor = BatchFileFilterProcessor("input_documents", "output_filtered") processor.process() # 使用自定义配置文件 processor = BatchFileFilterProcessor("input_documents", "output_filtered", "custom_config.yml") processor.process() ``` ## 多个markdown 合并成一个md文件 ```bash # 使用默认配置文件 python3 -m document2llm.io.batch_markdown_merge -i input_documents -o output/merged.md # 使用自定义配置文件 python3 -m document2llm.io.batch_markdown_merge -i input_documents -o output/merged.md -c custom_config.yml ``` 或者在Python代码中: ```python from document2llm.io.batch_markdown_merge import BatchMarkdownMergeProcessor # 使用默认配置文件 processor = BatchMarkdownMergeProcessor("input_documents", "output/merged.md") processor.process() # 使用自定义配置文件 processor = BatchMarkdownMergeProcessor("input_documents", "output/merged.md", "custom_config.yml") processor.process() ``` ## python 代码转换为容易复制的 自动补充`#` 的符号 ```bash input_python_file="aa.py" python3 -m document2llm.io.convert_copyable ${input_python_file} ``` 或者 ```bash input_python_file="aa.py" pycopyable ${input_python_file} ``` ## 源码转为md ```bash # 目录下的源码 合并成单个md web python3 -m document2llm.io.batch_text_to_markdown_gradio ``` ## markdown 数学 符号$ ```bash #document2llm/md/math/common_markdown_math.py <文件夹> python3 -m document2llm.md.math.common_markdown_math <文件夹> ``` .