为什么我的PDFSHARP中没有XGraphics.FromGraphics
时间: 2024-05-20 18:16:56 浏览: 248
XGraphics.FromGraphics方法是PDFsharp的GDI+渲染器的方法,只有当您使用PDFsharp的GDI+渲染器时才能使用此方法。如果您使用PDFsharp的其他渲染器,例如WPF或SVG渲染器,则不会找到此方法。
请确保您已正确引用PDFsharp的GDI+渲染器并使用正确的命名空间。您可以尝试在代码中使用以下命名空间:
using PdfSharp.Drawing;
相关问题
PDFSHARP中有XGraphics.FromGraphics吗
是的,PDFSharp中有XGraphics.FromGraphics方法。该方法用于创建一个XGraphics对象,该对象可用于将图形绘制到指定的Graphics对象中。通常,此方法用于将PDFSharp绘图与GDI+绘图混合使用。以下是使用XGraphics.FromGraphics方法的示例:
```csharp
// 创建一个PDF文档
PdfDocument document = new PdfDocument();
PdfPage page = document.AddPage();
// 获取Graphics对象
Graphics g = page.GetGraphics();
// 创建XGraphics对象
XGraphics gfx = XGraphics.FromGraphics(g, new XSize(page.Width, page.Height));
// 在XGraphics对象上绘制一些内容
gfx.DrawString("Hello, world!", new XFont("Arial", 12), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// 保存PDF文档
document.Save("output.pdf");
```
C#使用PDFsharp把一个.docx文件另存为.pdf格式
在C#中,使用PDFsharp库将Word文档(.docx)转换成PDF格式可以分为以下几个步骤:
1. 首先,你需要安装PDFsharp库。你可以从NuGet包管理器中获取它,命令行输入`Install-Package PDFsharp`。
2. 引入必要的命名空间:
```csharp
using System;
using System.IO;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.Pdf;
```
3. 创建一个新的Word处理上下文,并加载DOCX文件:
```csharp
using (var wordPackage = WordprocessingDocument.Open("input.docx", true))
{
// 更多操作...
}
```
4. 读取并处理Word内容(这里假设你只需要整个文档的文本):
```csharp
var mainDocumentPart = wordPackage.MainDocumentPart;
string text = mainDocumentPart.Document.Body.InnerText;
```
5. 使用PDFsharp创建一个新的PDF文档,然后添加Word的内容:
```csharp
using (var pdfDoc = new PdfDocument())
{
var page = new PdfPage();
pdfDoc.AddPage(page);
// 将文本写入PDF
using (var pdfWriter = new PdfTextWriter(pdfDoc.OpenStream(), page))
{
pdfWriter.WriteText(text);
}
// 另存为PDF文件
File.WriteAllBytes("output.pdf", pdfDoc.GetRange(0, pdfDoc.PageCount).ToArray());
}
```
6. 最后关闭资源:
```csharp
wordPackage.Close();
pdfDoc.Close();
```
阅读全文