当前位置: 首页 > 编程语言 > C#

PDFsharp在图形下绘制文字分享

时间:2023-04-10 14:02:37 C#

PDFsharp在图形下绘制文字我正在使用PDFsharp从头开始生成PDF文档。我正在尝试在渐变填充矩形的顶部写入文本。生成文档时,渐变显示在文本之上,使文本完全隐藏。使用(vardocument=newPdfDocument()){varpage=document.AddPage();vargraphics=XGraphics.FromPdfPage(page,XGraphicsPdfPageOptions.Append);graphics.SmoothingMode=XSmoothingMode.HighQuality;varbounds=newXRect(graphics.PageOrigin,graphics.PageSize);graphics.DrawRectangle(newXLinearGradientBrush(bounds,XColor.FromKnownColor(XKnownColor.Red),XColor.FromKnownColor(XKnownColor.White),XLinearGradientMode.ForwardDiagonal),bounds);graphics.DrawString("HelloWorld!",newXFont("Arial",20),XBrushes.Black,bounds.Center,XStringFormats.Center);文档.保存("测试.pdf");文档.Close();}如何在矩形顶部呈现文本?我发现之后绘制的任何图像都会出现在矩形的顶部。这是唯一的隐藏文本。试试这个:使用(vardocument=newPdfDocument()){varpage=document.AddPage();vargraphics=XGraphics.FromPdfPage(page,XGraphicsPdfPageOptions.Append);graphics.SmoothingMode=XSmoothingMode.HighQuality;varbounds=newXRect(graphics.PageOrigin,graphics.PageSize);varstate=graphics.Save();graphics.DrawRectangle(newXLinearGradientBrush(bounds,XColor.FromKnownColor(XKnownColor.Red),XColor.FromKnownColor(XKnownColor.White),XLinearGradientMode.ForwardDiagonal),bounds);图形。恢复(状态);graphics.DrawString("HelloWorld!",newXFont("Arial",20),XBrushes.Black,bounds.Center,XStringFormats.Center);文档.保存("测试.pdf");文档.Close();不幸的是,根据这个论坛帖子,库的代码中有一个错误。解决方法是在操作之间保存和恢复XGraphics对象的状态。第一篇文章中给出的代码在使用当前版本的PDFsharp1.50时工作正常。使用PDFsharp版本1.3x或更早版本时,需要使用上一个答案中给出的解决方法。以上就是C#学习教程:PDFsharp将文字分享的所有内容绘制在图形下。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: