remove pdfium
This commit is contained in:
parent
30d976632e
commit
da1b8f5fe5
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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>();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue