Spire.Office for .NET

ニュース&リリース

2023-05-25

Spire.Office 8.5.3 がリリースされました

Spire.Office 8.5.3のリリースを発表できることを嬉しく思います。このバージョンでは、Spire.XLSはISO.CEILING、WORKDAY.INTLとWPSのEVALUATE()関数関数をサポートしています。Spire.Docはグラフを追加する機能がサポートしています。Spire.PDFはPDFドキュメントの圧縮機能が最適化されました。さらに、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

このバージョンでは、Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.Barcode, Spire.DataExportの最新バージョンが含まれています。

DLL Versions:
  • Spire.Doc.dll v11.5.6
  • Spire.Pdf.dll v9.5.4
  • Spire.XLS.dll v13.5.1
  • Spire.Presentation.dll v8.4.1
  • Spire.Email.dll v6.5.7
  • Spire.DocViewer.Forms.dll v8.5.1
  • Spire.PdfViewer.Forms.dll v8.5.0
  • Spire.PdfViewer.Asp.dll v8.5.0
  • Spire.Spreadsheet.dll v7.4.2
  • Spire.OfficeViewer.Forms.dll v8.5.3
  • Spire.Barcode.dll v7.2.1
  • Spire.DataExport.dll v4.8.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 8.5.3をダウンロードする:

このリリースで行われた変更のリストは次のとおりです

Spire.Doc

カテゴリー ID 説明
New feature - グラフを追加する機能がサポートされています。
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Column chart.");

//新しい段落を作成してカラムグラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Column, 500, 300);

//グラフのシリーズデータを消去して、新しいグラフで始める
Chart chart = shape.Chart;
chart.Series.Clear();

//カスタム・シリーズをグラフに追加します。X軸はカテゴリ、Y軸は対応する大きな数値です
chart.Series.Add("Test Series",
    new[] { "Word", "PDF", "Excel", "GoogleDocs", "Office" },
    new double[] { 1900000, 850000, 2100000, 600000, 1500000 });

//Y軸スケールラベルの数値フォーマットをカンマで数値をグループ化するように設定する
chart.AxisY.NumberFormat.FormatCode = "#,##0";

//docxファイルに保存する
document.SaveToFile("AppendColumnChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Bubble chart.");

//新しい段落を作成してバブルグラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Bubble, 500, 300);

//グラフのシリーズデータを消去して、新しいグラフで始める
Chart chart = shape.Chart;
chart.Series.Clear();

//X/Y座標と各気泡直径を持つカスタムシリーズを追加する 
ChartSeries series = chart.Series.Add("Test Series",
    new[] { 2.9, 3.5, 1.1, 4.0, 4.0 },
    new[] { 1.9, 8.5, 2.1, 6.0, 1.5 },
    new[] { 9.0, 4.5, 2.5, 8.0, 5.0 });

//docxファイルに保存する
document.SaveToFile("AppendBubbleChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Line chart.");

//新しい段落を作成して折れ線グラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Line, 500, 300);

//グラフのシリーズデータを消去して、新しいグラフで始める   
Chart chart = shape.Chart;
ChartTitle title = chart.Title;
title.Text = "My Chart";
ChartSeriesCollection seriesColl = chart.Series;
seriesColl.Clear();

//新しいデータをグラフに設定
string[] categories = { "C1", "C2", "C3", "C4", "C5", "C6" };
seriesColl.Add("AW Series 1", categories, new double[] { 1, 2, 2.5, 4, 5, 6 });
seriesColl.Add("AW Series 2", categories, new double[] { 2, 3, 3.5, 6, 6.5, 7 });

//docxファイルに保存するする
document.SaveToFile("AppendLineChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Pie chart.");

//新しい段落を作成して円グラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Pie, 500, 300);
Chart chart = shape.Chart;

//各セクターのカテゴリ名とその頻度値を含むカスタムグラフシリーズを挿入する
ChartSeries series = chart.Series.Add("Test Series",
  new[] { "Word", "PDF", "Excel" },
  new[] { 2.7, 3.2, 0.8 });

//docxファイルに保存する
document.SaveToFile("AppendPieChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Scatter chart.");

//新しい段落を作成して散布図を追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Scatter, 450, 300);
Chart chart = shape.Chart;

//グラフのシリーズデータを消去して、新しいグラフで始める
chart.Series.Clear();

//5 点の X/Y 座標を持つシリーズを挿入する
chart.Series.Add("Scatter chart",
    new[] { 1.0, 2.0, 3.0, 4.0, 5.0 },
    new[] { 1.0, 20.0, 40.0, 80.0, 160.0 });

//docxファイルに保存する
document.SaveToFile("AppendScatterChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Surface3D chart.");

//新しい段落を作成してsurface 3Dグラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject shape = newPara.AppendChart(ChartType.Surface3D, 500, 300);

//グラフのシリーズデータを消去して、新しいグラフで始める
Chart chart = shape.Chart;
chart.Series.Clear();


chart.Title.Text = "My chart";

//3シリーズを追加する
chart.Series.Add("Series 1",
    new string[] { "Word", "PDF", "Excel", "GoogleDocs", "Office" },
    new double[] { 1900000, 850000, 2100000, 600000, 1500000 });

chart.Series.Add("Series 2",
    new string[] { "Word", "PDF", "Excel", "GoogleDocs", "Office" },
    new double[] { 900000, 50000, 1100000, 400000, 2500000 });

chart.Series.Add("Series 3",
    new string[] { "Word", "PDF", "Excel", "GoogleDocs", "Office" },
    new double[] { 500000, 820000, 1500000, 400000, 100000 });

//docxファイルに保存する
document.SaveToFile("AppendSurface3DChart.docx", FileFormat.Docx);
//Documentを作成する
Document document = new Document();

//新しいセクションを作成する
Section section = document.AddSection();

//新しい段落を作成してテキストを追加する
section.AddParagraph().AppendText("Bar chart.");

//新しい段落を作成して棒グラフを追加する
Paragraph newPara = section.AddParagraph();
ShapeObject chartShape = newPara.AppendChart(ChartType.Bar, 400, 300);
Chart chart = chartShape.Chart;

//「Title」プロパティを使用して、グラフ領域の上部中央に表示される棒グラフの見出しを提供する
ChartTitle title = chart.Title;
title.Text = "My Chart";

//「Show」プロパティを「true」に設定して見出しを表示する. 
title.Show = true;

//「Overlay」プロパティを「true」に設定します。他のグラフ要素がタイトルと重なるようにすることで、より多くのスペースを提供する
title.Overlay = true;

//docxファイルに保存する
document.SaveToFile("AppendBarChart.docx", FileFormat.Docx);
New feature - SVGドキュメントを追加する機能がサポートされています。
Document document = new Document();
Section section = document.AddSection();
string svgFile = "sample.svg";
Paragraph para = section.AddParagraph();
DocPicture svgPicture = para.AppendPicture(svgFile);
svgPicture.Width = 200;
svgPicture.Height = 200;
String DocxResult = "Result-AddSvg.docx";
document.SaveToFile(DocxResult, FileFormat.Docx2016);
New feature - 1ページに複数ページを印刷する機能がサポートされています。
doc.LoadFromFile(inputFile, FileFormat.Docx);
System.Windows.Forms.PrintDialog printDialog = new System.Windows.Forms.PrintDialog();
printDialog.PrinterSettings.PrintToFile = true;
printDialog.PrinterSettings.PrintFileName = "sample-new-4.xps";
doc.PrintDialog = printDialog;
doc.PrintMultipageToOneSheet(PagesPreSheet.FourPages, true);
New feature - ページの内容や内容の座標を取得するなど、ページを操作する機能がサポートされています。
Document doc = new Document();
doc.LoadFromFile(inputFile, FileFormat.Docx);
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(doc);

//最初のページの行にアクセスし、コンソールに印刷する
FixedLayoutLine line = layoutDoc.Pages[0].Columns[0].Lines[0];

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Line: " + line.Text);

//レンダリングされた行には、元の段落を文書オブジェクトモデルから取得することができる
Paragraph para = line.Paragraph;
stringBuilder.AppendLine("Paragraph text: " + para.Text);

//ヘッダーとフッターを含むプレーンテキスト形式で、最初のページに表示されたすべてのテキストを取得する
string pageText = layoutDoc.Pages[0].Text;
stringBuilder.AppendLine(pageText);

//文書内の各ページをループし、各ページに表示される行数を印刷する
foreach (FixedLayoutPage page in layoutDoc.Pages)
{
    LayoutCollection lines = page.GetChildEntities(LayoutElementType.Line, true);
    stringBuilder.AppendLine("Page " + page.PageIndex + " has " + lines.Count + " lines.");
}

//このメソッドは、任意のノードのレイアウトエンティティの逆引き参照を提供する
//「ヘッダーとフッターのrunsとnodesを除く」
stringBuilder.AppendLine("The lines of the first paragraph:");
foreach (FixedLayoutLine paragraphLine in layoutDoc.GetLayoutEntitiesOfNode(
    ((Section)doc.FirstChild).Body.Paragraphs[0]))
{
    stringBuilder.AppendLine(paragraphLine.Text.Trim());
    stringBuilder.AppendLine(paragraphLine.Rectangle.ToString());
}
File.WriteAllText("page.txt", stringBuilder.ToString());

Spire.XLS

カテゴリー ID 説明
New feature SPIREXLS-4561 ISO.CEILING関数をサポートしています。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "ISO.CEILING(12.69,2)";
workbook.CalculateAllValue();
workbook.SaveToFile("result.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4564 WORKDAY.INTL関数をサポートしています。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "=WORKDAY.INTL(DATE(2023,3,17),25,1,DATE(2023,3,20))";
workbook.CalculateAllValue();
workbook.SaveToFile("result.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4608 WPSのEVALUATE()関数をサポートしています。
Bug SPIREXLS-4568 SheetをHTMLに並列変換する際に、アプリケーションが「System.ArgumentException」をスローする問題が修正されました。
Bug SPIREXLS-4575 一部のセルの色を塗ると他のセルも同様に塗られてしまう問題が修正されました。
Bug SPIREXLS-4599 一部のセルをコピーできない問題が修正されました。
Bug SPIREXLS-4600 ExcelをHTMLに変換する際、アプリケーションが「System.OutOfMemoryException」をスローする問題が修正されました。
Bug SPIREXLS-4607 Excelファイルを読み込む際にアプリケーションが「System.IndexOutOfRangeException」をスローする問題が修正されました。
Bug SPIREXLS-4613 文書を保存した後にメニューバーの機能エリアが正しく表示されない問題が修正されました。
Bug SPIREXLS-4626 隠れた行を削除した後に多数の空白列が生成される問題が修正されました。
Bug SPIREXLS-4627 .netstandardパッケージを使用してSheetを画像に変換する際、内容が正しくない問題が修正されました。

Spire.PDF

カテゴリー ID 説明
New feature SPIREPDF-5840 PDFドキュメントの圧縮機能が最適化されました。
PdfCompressor compressor = new PdfCompressor("input.pdf");
compressor.Options.TextCompressionOptions.UnembedFonts = true;
compressor.Options.ImageCompressionOptions.CompressImage = true;
compressor.Options.ImageCompressionOptions.ResizeImages = true;
compressor.Options.ImageCompressionOptions.ImageQuality = ImageQuality.Low;
compressor.CompressToFile("output.pdf");
Bug SPIREPDF-5170 <ul> タグなどを含むHTMLコードを挿入しても機能しない問題が修正されました。
Bug SPIREPDF-5601 PDFページをコピーした後にAdobeツールで結果文書を開くことができない問題が修正されました。
Bug SPIREPDF-5883 PDFをWordに変換した後、テキストの改行が正しくない問題が修正されました。
Bug SPIREPDF-5897 PDFを画像に変換する際に、単語間のスペースが消失する問題が修正されました。
Bug SPIREPDF-5903 テキストをハイライトすることができない問題が修正されました。
Bug SPIREPDF-5923 フォームフィールドのフラット化後、文書を保存する際にアプリケーションが「NullPointerException」をスローする問題が修正されました。
Bug SPIREPDF-5938 注釈付きのPDFファイルを印刷する際に注釈が失われていた問題が修正されました。
Bug SPIREPDF-5939 PDFからテーブルを抽出する際に結果が正しくない問題が修正されました。
Bug SPIREPDF-5950 PDFをOFDに変換する際に、アプリケーションが「System.InvalidOperationException」をスローする問題が修正されました。
Bug SPIREPDF-5951 抽出されたテキストが表の範囲を超えていた問題が修正されました。
Bug SPIREPDF-5952 PdfAnnotationBorder border = new PdfAnnotationBorder() {Width = 20f} メソッドを使用して幅を設定しても効果がない問題が修正されました。
Bug SPIREPDF-5968 XFA Formフィールドの値の充填に失敗した問題が修正されました。
Bug SPIREPDF-5970 OFDをPDFに変換する際に、アプリケーションが「System.ArgumentException」をスローする問題が修正されました。

Spire.Email

カテゴリー ID 説明
Bug SPIREEMAIL-76 NetFrameworkアプリケーションで使用するときにImapサーバとPop3サーバに接続できない問題が修正されました。