12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using HTEXLib;
- using HTEXLib.Builders;
- using HTEXLib.DOCX.Models;
- using HTEXLib.Helpers.ShapeHelpers;
- using HTEXLib.Translator;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
-
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Text.Json;
- using System.Threading.Tasks;
- namespace HTEXWeb.Controllers
- {
- [ApiController]
- [Route("htex")]
- public class HtexController: ControllerBase
- {
- public PPTX2HTEXTranslator htexGenerator { get; set; }
- public DOXC2HTMLTranslator _DOXC2HTMLTranslator { get; set; }
- public HTML2ITEMTranslator _HTML2ITEMTranslator { get; set; }
- // public HTML2IMGSTranslator _HTML2IMGSTranslator { get; set; }
- public HTML2ITEMV3Translator _HTML2ITEMV3Translator { get; set; }
- public HtexController(PPTX2HTEXTranslator htexGenerator, DOXC2HTMLTranslator DOXC2HTMLTranslator, // HTML2IMGSTranslator HTML2IMGSTranslator,
- HTML2ITEMV3Translator HTML2ITEMV3Translator) {
- _DOXC2HTMLTranslator = DOXC2HTMLTranslator;
- // _HTML2IMGSTranslator = HTML2IMGSTranslator;
- _HTML2ITEMV3Translator = HTML2ITEMV3Translator;
- this.htexGenerator = htexGenerator;
- }
- [HttpPost("generator")]
- public object Generator([FromForm] IFormFile file)
- {
- return JsonSerializer.Deserialize<JsonElement>(JsonHelper.ToJson(htexGenerator.Translate(file.OpenReadStream()),ignoreNullValue:false));
- }
- /// <summary>
- /// docUrl
- /// folder
- /// shaCode
- ///
- /// UploadWord
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("upload-word")]
- [RequestSizeLimit(102_400_000_00)] //最大10000m左右
- public IActionResult UploadWord([FromForm] IFormFile file)
- {
- var doc = _DOXC2HTMLTranslator.Translate(file.OpenReadStream());
- return Ok(new { htmlString =doc});
- }
- /// <summary>
- /// htmlString AnalyzeHtml
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("parse-html")]
- public IActionResult AnalyzeHtml(JsonElement request)
- {
- if (!request.TryGetProperty("htmlString", out JsonElement htmlString)) { return BadRequest(); }
- var exercises = _HTML2ITEMV3Translator.Translate(htmlString.GetString());
- return Ok(exercises);
- }
- /// <summary>
- /// htmlString AnalyzeHtml
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- //[HttpPost("html-screenshot")]
- //public IActionResult HtmlScreenshot(JsonElement request)
- //{
- // request.TryGetProperty("htmlUrl",out JsonElement htmlUrl);
- // var base64 = "data:image/png;base64,"+ _HTML2IMGSTranslator.PageScreenshotAll($"{htmlUrl}");
- // return Ok(new { base64 });
- //}
- }
- }
|