src/SSCMS.Core/Utils/Office/WordManager.cs

(开头部分) 15KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using DocumentFormat.OpenXml.Packaging;
using HtmlAgilityPack;
using OpenXmlPowerTools;
using SSCMS.Enums;
using SSCMS.Models;
using SSCMS.Services;
using SSCMS.Utils;
using FileUtils = SSCMS.Utils.FileUtils;

namespace SSCMS.Core.Utils.Office
{
    public static class WordManager
    {
        public class ConverterSettings
        {
            public bool IsFirstLineTitle { get; set; }
            public bool IsClearFormat { get; set; }
            public bool IsFirstLineIndent { get; set; }
            public bool IsClearFontSize { get; set; }
            public bool IsClearFontFamily { get; set; }
            public bool IsClearImages { get; set; }
            public bool IsSaveHtml { get; set; }
            public string HtmlDirectoryPath { get; set; }
            public string ImageDirectoryPath { get; set; }
            public string ImageDirectoryUrl { get; set; }
        }

        public static async Task<(string title, string imageUrl, string body)> GetWordAsync(IPathManager pathManager, Site siteInfo, bool isFirstLineTitle, bool isClearFormat, bool isFirstLineIndent, bool isClearFontSize, bool isClearFontFamily, bool isClearImages, string docsFilePath, string docsFileTitle)
        {
            string imageDirectoryPath;
            string imageDirectoryUrl;
            if (siteInfo != null)
            {
                imageDirectoryPath = await pathManager.GetUploadDirectoryPathAsync(siteInfo, UploadType.Image);
                imageDirectoryUrl = await pathManager.GetSiteUrlByPhysicalPathAsync(siteInfo, imageDirectoryPath, true);
            }
            else
            {
                var fileName = PathUtils.GetFileName(docsFilePath);
                imageDirectoryPath = PathUtils.Combine(pathManager.WebRootPath, PathUtils.GetMaterialVirtualDirectoryPath(UploadType.Image));
                imageDirectoryUrl = PathUtils.GetMaterialVirtualFilePath(UploadType.Image, fileName);
            }

            var settings = new ConverterSettings
            {
                IsFirstLineTitle = isFirstLineTitle,
                IsClearFormat = isClearFormat,
                IsFirstLineIndent = isFirstLineIndent,
                IsClearFontSize = isClearFontSize,
                IsClearFontFamily = isClearFontFamily,
                IsClearImages = isClearImages,
                ImageDirectoryPath = imageDirectoryPath,
后面还有 320 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。