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

Having permission issues when using itext7 to convert PNG files to PDFs, some commands seems to have access others dont

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

我从他们的网站上获得了演示代码,我正在用 c# visual studio 构建它,使用 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$username\Documents\c_projects\SeleniumScreenshots";
            private static string OUTPUT_FOLDER = @"C:\Users$username\Documents\c_projects\pdf_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 code/developement 还很陌生。提前感谢您的帮助。

根据评论,解决方法如下:

  1. ORIG末尾是文件名,不能引用文件夹
  2. OUTPUT_FOLDER最后指的是文件夹下的space,你少了\.

代码本身没有问题