using Microsoft.AspNetCore.Mvc; using System.Diagnostics; namespace WebAPI.Controllers { [Route("[controller]")] [ApiController] public class DocumentsController : ControllerBase { [HttpPost("convert")] public IActionResult ConvertToPdf([FromBody] ConvertRequest request) { if (request == null || string.IsNullOrEmpty(request.InputPath)) { return BadRequest("Invalid request."); } try { string exePath = @"D:\ConvertToPDF\ctp\bin\Debug\ctp.exe"; var processStartInfo = new ProcessStartInfo { FileName = exePath, Arguments = $"{request.InputPath}", RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true }; using (var process = Process.Start(processStartInfo)) { process.WaitForExit(); if (process.ExitCode != 0) { string error = process.StandardError.ReadToEnd(); return StatusCode(500, $"Conversion failed: {error}"); } } return Ok($"File successfully converted to PDF"); } catch (Exception ex) { return StatusCode(500, $"An error occurred: {ex.Message}"); } } } public class ConvertRequest { public string InputPath { get; set; } } }