Help us understand the problem. What is going on with this article?

PDFsharp

More than 1 year has passed since last update.

この記事はVisualStudio2013の時の記事。
VisualStudio2015の記事はこちら。

PDFsharpという、PDF編集ライブラリがある。
.NETからPDFを作成する事が出来る。命令で、文字も書けるし、線も引ける。
MITライセンスとの事で、同ライセンスは、Wikiによると、
“このソフトウェアを誰でも無償で無制限に扱って良い。ただし、著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない。”
“作者または著作権者は、ソフトウェアに関してなんら責任を負わない。”
との事なので、コピーライトを書けば、商用利用も可能なんじゃないかな。
多分。

ASP.NETからでも、参照設定にPdfSharp.dllを追加すれば使えたよ。
游明朝か游ゴシックにフォントを限れば、日本語の利用も可能。
以下、ASP.NET(C#)での、簡単な例。

c#
using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;

// 中略...

protected void Button1_Click( object sender, EventArgs e)
{
  PdfDocument document = new PdfDocument();
  PdfPage page = document.AddPage();
  page.Size = PageSize .A4; //用紙の大きさ
  page.Orientation = PageOrientation .Landscape; //用紙の向き

  XGraphics graphics = XGraphics .FromPdfPage(page);

  var pdf_ja_font_options = new XPdfFontOptions (PdfFontEncoding .Unicode, PdfFontEmbedding.Always);
  var pdf_ja_font = new XFont( "游明朝" , 12, XFontStyle.Regular, pdf_ja_font_options);

  graphics.DrawString( "こんにちわ世界" , pdf_ja_font, XBrushes.Black,
new XRect (0, 0, page.Width, page.Height), XStringFormats.Center);

  XPen pen = new XPen( XColors .Red, 4); //線を引く
  pen.DashStyle = XDashStyle .Dash;
  graphics.DrawLine(pen, 10, 20, page.Width - 10, 20);
  graphics.DrawLine(pen, 10, page.Height - 20, page.Width - 10, page.Height - 20);

  document.PageLayout = PdfPageLayout.OneColumn; //幅一杯に表示

  string filepath = @"C:\Users\..(中略)..\asp_pdf\asp_pdf\pdf" ;
  string filename = filepath + @"\HelloWorld.pdf" ;
  document.Save(filename);

  string openfilename = "./pdf/HelloWorld.pdf" ;
  Response.Redirect(openfilename); //PDFに遷移
}

Creator of PDFsharp is empira Software GmbH
Kirchstrase 19 53840 Troisdorf Germany
www.empira.de
PDFsharp (R) is a registered trademark of empira Software GmbH


昔別のブログに書いた記事なのだけど、珍しくアクセス数が多かったのでこちらにお引越し。
初出 2016-04-24

KazTag
昔ブログに書いた記事をこちらにもって来たり。
https://seagp.com
seagp
企業向けにシステム開発・RPA開発を行っています。
https://seagp.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした