1

我有一个 C# 控制台应用程序,并想向其中添加 PdfSharp 的一些功能。

我已经从Sourceforge下载了两个 zip 文件……程序集和源代码。

似乎有几种方法可以添加功能

  • .dll对解压缩程序集文件夹中文件的引用。
  • 实际上将项目添加到我的解决方案中。

我正在尝试使用后一种方法。

这就是我需要做的吗?

  1. 我将解压缩的源代码文件中的文件夹“PdfSharp”复制并粘贴到我的解决方案文件夹中。
  2. 在 VS 我去解决方案资源管理器右键单击解决方案并选择Add>Existing Project...
  3. 然后我选择了以下...

在此处输入图像描述

我承担项目PdfSharp-ag.csprojPdfSharp-Hybrid.csproj; PdfSharp-WPF.csproj用于其他一些应用程序?我的意思是我的简单控制台应用程序就是我需要的项目PdfSharp.csproj

完成上述步骤后,我的解决方案如下所示:

在此处输入图像描述

...并且在原始项目参考部分中参考 PdfSharp 进行扩展时:

在此处输入图像描述


然后,我使用以下代码测试了控制台应用程序一切正常:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing; //<< additional reference required

using PdfSharp;
using PdfSharp.Pdf;
using PdfSharp.Drawing;

namespace PDFsharpSolutionQF
{
  class Program
  {
    static void Main(string[] args)
    {


      PdfDocument pdf = new PdfDocument();
      pdf.Info.Title = "My First PDF";
      PdfPage pdfPage = pdf.AddPage();
      XGraphics graph = XGraphics.FromPdfPage(pdfPage);
      XFont font = new XFont("Verdana",20,XFontStyle.Bold);
      graph.DrawString("This is my first PDF document",font,XBrushes.Black,new XRect(0,0,pdfPage.Width.Point,pdfPage.Height.Point),XStringFormats.Center);
      string pdfFilename = "firstpage.pdf";
      pdf.Save(pdfFilename);
      //Process.Start(pdfFilename);

    }
  }
}
4

3 回答 3

1

您能否详细说明为什么要尝试将程序源添加到您自己的应用程序中?如果您只是想利用库的功能,那么您最好只在项目中引用 DLL,然后使用它提供的 API。

我能想到的靠近源代码的唯一原因是 a) 如果您需要对其进行调试或 b) 如果您打算以某种方式修改功能。您是在尝试这样做,还是只是以通常的方式使用 API?

于 2012-09-12T15:09:57.310 回答
1

您可以使用 PdfSharp.csproj 或 PdfSharp-WPF.csproj - 前者使用 GDI+ 进行图形操作,后者使用 WPF 函数。-Hybrid 是内部的,-ag 是用于 SilverLight 的(功能还不完整)。

于 2012-09-12T15:33:39.093 回答
1

在项目中包含源代码的一个好处是无需分发 DLL。我个人使用DLL。但我可以看到仅分发 EXE 的优势。

于 2015-01-31T01:39:06.070 回答