123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- using System.Text.Json.Serialization;
- namespace OASystem.API.OAMethodLib.FileProcessing
- {
- public class WordDocumentModels
- {
- }
- /// <summary>
- /// Word文档信息模型
- /// </summary>
- public class WordDocumentInfo
- {
- [JsonPropertyName("title")]
- public string Title { get; set; } = string.Empty;
- [JsonPropertyName("content")]
- public string Content { get; set; } = string.Empty;
- [JsonPropertyName("metadata")]
- public DocumentMetadata Metadata { get; set; } = new DocumentMetadata();
- [JsonPropertyName("tables")]
- public List<DocumentTable> Tables { get; set; } = new List<DocumentTable>();
- [JsonPropertyName("formFields")]
- public List<FormField> FormFields { get; set; } = new List<FormField>();
- [JsonPropertyName("sections")]
- public List<DocumentSection> Sections { get; set; } = new List<DocumentSection>();
- [JsonPropertyName("imagesCount")]
- public int ImagesCount { get; set; }
- [JsonPropertyName("processingTimeMs")]
- public long ProcessingTimeMs { get; set; }
- }
- /// <summary>
- /// 文档元数据
- /// </summary>
- public class DocumentMetadata
- {
- [JsonPropertyName("author")]
- public string Author { get; set; } = string.Empty;
- [JsonPropertyName("company")]
- public string Company { get; set; } = string.Empty;
- [JsonPropertyName("createdTime")]
- public DateTime? CreatedTime { get; set; }
- [JsonPropertyName("lastSavedTime")]
- public DateTime? LastSavedTime { get; set; }
- [JsonPropertyName("pageCount")]
- public int PageCount { get; set; }
- [JsonPropertyName("wordCount")]
- public int WordCount { get; set; }
- [JsonPropertyName("characterCount")]
- public int CharacterCount { get; set; }
- [JsonPropertyName("subject")]
- public string Subject { get; set; } = string.Empty;
- [JsonPropertyName("keywords")]
- public string Keywords { get; set; } = string.Empty;
- }
- /// <summary>
- /// 文档表格
- /// </summary>
- public class DocumentTable
- {
- [JsonPropertyName("tableName")]
- public string TableName { get; set; } = string.Empty;
- [JsonPropertyName("rows")]
- public List<List<string>> Rows { get; set; } = new List<List<string>>();
- [JsonPropertyName("headers")]
- public List<string> Headers { get; set; } = new List<string>();
- }
- /// <summary>
- /// 表单字段
- /// </summary>
- public class FormField
- {
- [JsonPropertyName("name")]
- public string Name { get; set; } = string.Empty;
- [JsonPropertyName("type")]
- public string Type { get; set; } = string.Empty;
- [JsonPropertyName("value")]
- public string Value { get; set; } = string.Empty;
- [JsonPropertyName("isChecked")]
- public bool IsChecked { get; set; }
- }
- /// <summary>
- /// 文档章节
- /// </summary>
- public class DocumentSection
- {
- [JsonPropertyName("sectionNumber")]
- public int SectionNumber { get; set; }
- [JsonPropertyName("content")]
- public string Content { get; set; } = string.Empty;
- [JsonPropertyName("paragraphsCount")]
- public int ParagraphsCount { get; set; }
- [JsonPropertyName("tablesCount")]
- public int TablesCount { get; set; }
- }
- /// <summary>
- /// 处理结果
- /// </summary>
- public class ProcessingResult
- {
- [JsonPropertyName("success")]
- public bool Success { get; set; }
- [JsonPropertyName("data")]
- public WordDocumentInfo? Data { get; set; }
- [JsonPropertyName("errorMessage")]
- public string? ErrorMessage { get; set; }
- [JsonPropertyName("fileSize")]
- public long FileSize { get; set; }
- [JsonPropertyName("fileType")]
- public string FileType { get; set; } = string.Empty;
- }
- }
|