remove pdfium

This commit is contained in:
Jicheng Lu 2024-07-01 11:26:23 -05:00
parent 30d976632e
commit da1b8f5fe5
4 changed files with 1 additions and 52 deletions

View file

@ -181,9 +181,6 @@
<PackageReference Include="Fluid.Core" Version="2.8.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
<PackageReference Include="Nanoid" Version="3.0.0" />
<PackageReference Include="PdfiumViewer" Version="2.13.0" />
<PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" Version="2018.4.8.256" />
<PackageReference Include="PdfiumViewer.Native.x86_64.v8-xfa" Version="2018.4.8.256" />
<PackageReference Include="RedLock.net" Version="2.3.2" />
<PackageReference Include="System.Drawing.Common" Version="8.0.6" />
</ItemGroup>

View file

@ -1,5 +1,4 @@
using BotSharp.Abstraction.Files.Converters;
using BotSharp.Core.Files.Converters;
using Microsoft.EntityFrameworkCore;
using System;
using System.IO;
@ -330,12 +329,7 @@ public partial class BotSharpFileService
private IPdf2ImageConverter? GetPdf2ImageConverter()
{
var converters = _services.GetServices<IPdf2ImageConverter>();
var converter = converters.FirstOrDefault(x => x.GetType().Name != typeof(PdfiumConverter).Name);
if (converter == null)
{
converter = converters.FirstOrDefault(x => x.GetType().Name == typeof(PdfiumConverter).Name);
}
return converter;
return converters.FirstOrDefault();
}
#endregion
}

View file

@ -1,39 +0,0 @@
using BotSharp.Abstraction.Files.Converters;
using PdfiumViewer;
using System.IO;
namespace BotSharp.Core.Files.Converters;
public class PdfiumConverter : IPdf2ImageConverter
{
public async Task<IEnumerable<string>> ConvertPdfToImages(string pdfLocation, string imageFolderLocation)
{
var paths = new List<string>();
if (string.IsNullOrWhiteSpace(imageFolderLocation)) return paths;
if (Directory.Exists(imageFolderLocation))
{
Directory.Delete(imageFolderLocation, true);
}
Directory.CreateDirectory(imageFolderLocation);
var guid = Guid.NewGuid().ToString();
using (var document = PdfDocument.Load(pdfLocation))
{
var pages = document.PageCount;
for (var page = 0; page < pages; page++)
{
var size = document.PageSizes[page];
using (var image = document.Render(page, (int)size.Width, (int)size.Height, 96, 96, true))
{
var imagePath = Path.Combine(imageFolderLocation, $"{guid}_pg_{page + 1}.png");
image.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png);
paths.Add(imagePath);
}
}
}
return await Task.FromResult(paths);
}
}

View file

@ -1,5 +1,3 @@
using BotSharp.Abstraction.Files.Converters;
using BotSharp.Core.Files.Converters;
using BotSharp.Core.Files.Hooks;
using Microsoft.Extensions.Configuration;
@ -20,6 +18,5 @@ public class FilePlugin : IBotSharpPlugin
services.AddScoped<IAgentHook, FileAnalyzerHook>();
services.AddScoped<IAgentToolHook, FileAnalyzerToolHook>();
services.AddScoped<IPdf2ImageConverter, PdfiumConverter>();
}
}