·
编程学习 ·
45907
/// <summary>
/// 提取word中的图片
/// </summary>
/// <param name="filePath">word文件路径</param>
/// <param name="savePath">保存文件路径</param>
/// <returns></returns>
public static List<string> ExportImageFromWordFile(string filePath, string savePath = "")
{
if (!File.Exists(filePath)) return new List<string>();
if (string.IsNullOrEmpty(savePath)) savePath = AppDomain.CurrentDomain.BaseDirectory;
//文件名集合
List<string> list = new List<string>();
//加载word
Document doc = new Document(filePath);
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
int imageIndex = 0;
foreach (Shape shape in shapes)
{
if (shape.HasImage)
{
string time = DateTime.Now.ToString("HHmmssfff");
//扩展名
string ex = FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType);
//文件名
string fileName = string.Format("{0}_{1}{2}", time, imageIndex, ex);
shape.ImageData.Save(savePath + fileName);
//添加文件到集合
list.Add(fileName);
imageIndex++;
}
}
return list;
}
必须分块读取,推荐8192或65536字节块大小,以rb模式打开文件,循环调用update(),最后用hexdigest()获取32位小写十六进制字符串;校验时需strip().lower()统一格式并做长度校验。 用hashlib.md5()读取文件并计算校验和 直接调用hashlib.md5()...
{%include%}能拆分模板但需注意变量作用域、路径规则(仅从templates根目录解析)和循环中重复渲染的性能问题,非万能解法。 直接说结论:用{%include%}能拆分模板,但必须注意变量作用域、路径解析规则和循环内重复渲染的性能陷阱——它不是“无脑切文件”的万能解药。 include标...
运行python-mensurepip--upgrade--default-pip可重建pip.exe;若报Nomodulenamedensurepip,则需离线下载get-pip.py安装;Python3.12+默认不生成pip.exe,但功能等价;PATH配置错误或虚拟环境无pip也是常见原因。...
结论:用pandas.read_parquet()最省事,但必须指定engine="pyarrow";fastparquet功能弱、不支持嵌套类型和并行读取;读大文件需列裁剪、filters下推、use_threads=True或改用ParquetDataset分块读取。 直接说结论:用pandas...
本文介绍一种基于ZIP操作的高效方法,绕过Excel应用程序启动,直接修改.xlsx文件内部docProps/custom.xml,实现毫秒级批量设置敏感度标签,适用于数百个文件的场景。 本文介绍一种基于zip操作的高效方法,绕过excel应用程序启动,直接修改`.xlsx`文件内部`docprop...
本文介绍如何解决spacy默认将“from…to…”结构识别为单个date实体的问题,通过后处理拆分策略(如按“to”“until”等连接词分割),准确提取出每个独立日期字符串。 本文介绍如何解决spacy默认将“from…to…”结构识别为单个date实体的问题,通过后处理拆分策略(如按“to”“...
本文介绍如何解决spacy默认将“from…to…”类日期范围识别为单个date实体的问题,通过后处理拆分实现粒度更细的独立日期提取,并支持混合句式与多日期场景。 本文介绍如何解决spacy默认将“from…to…”类日期范围识别为单个date实体的问题,通过后处理拆分实现粒度更细的独立日期提取,并...
直接用jieba.analyse.extract_tags处理大规模文本会卡住或内存爆掉,因其默认一次性加载全部文档构建全局IDF,导致idf_dict膨胀、无法复用模型,且未分词前正则分割易触发回溯爆炸。 为什么直接用jieba.analyse.extract_tags处理大规模文本会卡住或内存爆...