使用itext7将PNG文件转换为PDF时存在权限问题,一些命令似乎可以访问其他命令



https://itextpdf.com/en/demos/convert-image-to-pdf-free-online

我从他们的网站上得到了关于如何做到这一点的演示代码,我正在c#visualstudio中构建这个代码,使用selenium/nunit

这看起来很直接,但我遇到了一些我不理解的问题。这是我的代码:

using System;
using iText.IO.Image;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
namespace TesingPDFConvert
{
internal class Program
{
private static string ORIG = @"C:Users$usernameDocumentsc_projectsSeleniumScreenshots";
private static string OUTPUT_FOLDER = @"C:Users$usernameDocumentsc_projectspdf_output";
public static void Main(string[] args)
{
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(OUTPUT_FOLDER + "ImageToPdf.pdf"));
Document document = new Document(pdfDocument);
ImageData imageData = ImageDataFactory.Create(ORIG);
Image image = new Image(imageData);
image.SetWidth(pdfDocument.GetDefaultPageSize().GetWidth() - 50);
image.SetAutoScaleHeight(true);
document.Add(image);
pdfDocument.Close();
}
}
}

当我运行这个程序时,我被拒绝访问SeleniumScreenshots文件夹,但另一个文件夹(pdf_output)似乎有访问权限。如果我将文件夹更改为pdf_output文件夹以从中获取图像,我仍然被拒绝访问,但是,它正在将空的pdf写入输出文件夹,因此它似乎有访问权限。我试着把文件夹从";只读";属性,但由于某种原因没有保存,我不认为这是问题所在,因为我在其他selenium或c#项目中写入了我的文档文件夹,并且没有出现问题。我的想法是我用错了itext7。

这里的目标是在我的SeleniumScreenshots文件夹中获取PNG,并将它们转换为PDF,并在运行selenium/nunit测试(在代码中看不到)后放入PDF_outputs文件夹。

在我的selenium/nunit项目无法使用它之后,我打开了一个新项目,并设置了他们的代码(控制台应用程序),但仍然得到了相同的结果。我被难住了。

我对c#和visual studio的代码/开发还很陌生。感谢您提前提供的帮助。

根据注释,解决方案如下:

  1. ORIG是文件名的末尾,不能引用文件夹
  2. OUTPUT_FOLDER最后指的是文件夹下的空间,您缺少

代码本身没有问题。

相关内容

  • 没有找到相关文章

最新更新