Spire.Office for Python

ニュース&リリース

2026-11-09

Spire.Office for Python 11.11.0 がリリースされました

Spire.Office for Python 11.11.0 のリリースをお知らせできることを嬉しく思います。このバージョンでは、Spire.Doc for Python に、2つの段落間のオブジェクトを比較するための新しいメソッドが追加されました。 Spire.PDF for Python は、複数の PDF 注釈タイプのサポートを追加し、新しいフローレイアウトコンテンツ追加モジュールも追加しました。Spire.XLS for Python はマクロ(VBA)機能をサポートします。 Spire.Presentation for Python は、PPTX を動画として保存することをサポートします。さらに、Word/Excel/PDF/PowerPoint ファイルの変換、処理、保存時に発生していた多くの既知の問題が正常に修正されました。詳細は以下に記載されています。

次のリンクをクリックして、Spire.Office for Python 11.11.0 をダウンロードしてください:

変更内容一覧

Spire.Doc for Python

カテゴリー ID 説明
新機能 SPIREDOC-11128 二つの段落オブジェクトを比較する Paragraph.ReferenceEquals メソッドを追加
不具合修正 SPIREDOC-11676 変更履歴追跡モードでコメント追加時に例外が発生する問題を修正
不具合修正 SPIREDOC-11771 AppendChart メソッド実行時に AttributeError 例外が送出される問題を修正
不具合修正 SPIREDOC-11877 返信コメントの書式が不正となる問題を修正
不具合修正 SPIREDOC-11886 ReplyComment(返信コメント)追加処理の実行結果が不正となる問題を修正
不具合修正 - Word 文書のページ削除操作時、指定していないページまで誤って削除されてしまう問題を修正。
不具合修正 - Word から PDF へ変換する際、一部 Symbol フォントの文字が欠落する問題を修正。

Spire.XLS for Python

カテゴリー ID 説明
新機能 SPIREXLS-6151 VBA プロジェクトの追加、取得、削除を含むマクロ(VBA)機能のサポートを追加しました。
//1.Add
workbook = Workbook()

# Add VBA project to document
vbaProject = workbook.VbaProject
vbaProject.Name = "SampleVBAMacro"
text = "Code page before modification: " + str(vbaProject.CodePage) + "\n"
vbaProject.CodePage = 936  # Set encoding to support Chinese characters

text += "Code page after modification: " + str(vbaProject.CodePage) + "\n"
File.WriteAllText(outputFile_TXT, text)

vbaModule = vbaProject.Modules.Add("SampleModule", VbaModuleType.Module)
# Does not support Chinese characters
vbaModule.SourceCode = """
    Sub ExampleMacro()
        ' Declare variables
        Dim ws As Worksheet
        Dim i As Integer
        ' Set reference to active worksheet
        Set ws = ActiveSheet
        ' Clear worksheet content (optional)
        ws.Cells.Clear
        ' Fill sample data
        With ws
            ' Write header row
            .Range("A1: C1").Value = Array("Serial No.", "Project Name", "Amount")
            ' Loop to fill 10 rows of data
            For i = 1 To 10
                .Cells(i + 1, 1).Value = i  ' Serial number column
                .Cells(i + 1, 2).Value = "Project " & i  ' Project name column
                .Cells(i + 1, 3).Value = i * 100  ' Amount column (sample calculation)
            Next i
            ' Auto-fit column widths
            .Columns("A:C").AutoFit
            ' Format header row
            With.Range("A1:C1")
                .Font.Bold = True
                .Interior.Color = RGB(200, 220, 255)  ' Light blue background
            End With
            ' Format amount column
            .Range("C2:C11").NumberFormat = "$#,##0.00"
        End With
        ' Show completion message
        MsgBox "Data population complete!", vbInformation, "Operation Prompt"
    End Sub"""

workbook.SaveToFile(outputFile_Xls, FileFormat.Version97to2003)
workbook.SaveToFile(outputFile_Xlsb, FileFormat.Xlsb2007)
workbook.SaveToFile(outputFile_Xlsm, FileFormat.Xlsm)
workbook.SaveToFile(outputFile_Xltm, FileFormat.XLTM)
workbook.Dispose()

//2.Obtain and modify
workbook = Workbook()
workbook.LoadFromFile(inputFile)  

worksheet = workbook.Worksheets[0]
vbaProject = workbook.VbaProject

// Modify worksheet module
mod = vbaProject.Modules.GetWorksheetModule(worksheet)
mod.Name = "IVbaModule"
mod.SourceCode = "Dim lRow As Long"
mod.Type = VbaModuleType.Module

// Save file
workbook.SaveToFile(outputFile)
workbook.Dispose()

//3. Delete
workbook1 = Workbook()
workbook1.LoadFromFile(inputFile_Module)
vbaProject1 = workbook1.VbaProject
vbaProject1.Modules.Remove("SampleModule")
workbook1.SaveToFile(outputFile_1)
workbook1.Dispose()
新機能 SPIREXLS-6169 Excel から PDF への変換時に PDF 暗号化を設定するサポートを追加しました。
            workbook = Workbook()
            #Load a excel document
            workbook.LoadFromFile(inputFile)   
            #Set permission password and permissions to encrypt converted pdf
            workbook.ConverterSetting.PdfSecurity.Encrypt("123", PdfPermissionsFlags.Print)
            #Convert excel to pdf
            workbook.SaveToFile(outputFile, FileFormat.PDF)
            workbook.Dispose()
不具合修正 SPIREXLS-6199 複数の CopyRangeOptions 列挙型値を組み合わせて使用する際にエラーが発生する不具合を修正しました。

Spire.Presentation for Python

カテゴリー ID 説明
新機能 — PPTXをビデオ(.mp4/.wmv)に保存する機能をサポート。
ppt = Presentation()
ppt.LoadFromFile(inputFile)
SaveToVideoOption saveOption = new SaveToVideoOption(ffmpegDir)
ppt.SaveToVideoOption=saveOption
ppt.SaveToFile(outputFile_mp4, FileFormat.MP4)
ppt.SaveToFile(outputFile_wmv, FileFormat.WMV)
ppt.Dispose()
不具合修正 SPIREPPT-3152 PowerPointを画像に変換する際にプログラムがハングアップする問題を修正。
不具合修正 SPIREPPT-3176 SPIREPPT-3178 PowerPointファイルを読み込む際にエラーが発生する問題を修正。

Spire.PDF for Python

カテゴリー ID 説明
新機能 — Caret 注釈に対応しました。
rect = RectangleF(100.0, 100.0, 10.0, 15.0)
  annotation = PdfCaretAnnotation(page, rect)
  annotation.Title = "CaretTest"
  annotation.Contents = "A caret annotation with default (None) symbol."
  annotation.Color = PdfRGBColor(0, 0, 255)
  annotation.Border.Width = 1
  annotation.Intent = "ParaCaret"
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — Circle 注釈に対応しました。
annotation = PdfCircleAnnotation(page, rect)
  annotation.Color = PdfRGBColor(128, 0, 128)
  annotation.InteriorColor = PdfRGBColor(255, 255, 200)
  annotation.Border.Width = 2
  annotation.Border.Style = PdfBorderStyle.Solid
  annotation.Border.Effect = PdfBorderEffect.Cloudy
  annotation.Border.EffectIntensity = 2
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — Square 注釈に対応しました。
annotation = PdfSquareAnnotation(page, rect)
  annotation.Color = PdfRGBColor(128, 0, 128)
  annotation.InteriorColor = PdfRGBColor(255, 255, 200)
  annotation.Border.Width = 2
  annotation.Border.Style = PdfBorderStyle.Dashed
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — FileAttachment 注釈に対応しました。
fileSpecification = PdfFileSpecification("SalesReportChart.png", data)
  annotation = PdfFileAttachmentAnnotation(page, bounds, fileSpecification)
  annotation.Icon = PdfFileIcon.Graph
  annotation.Color = PdfRGBColor(Color.get_Teal())
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — Movie 注釈に対応しました。
annotation = PdfMovieAnnotation(page, rect, "sample.wmv")
  annotation.Title = "My Movie Player"
  annotation.Movie.Poster = False
  annotation.Movie.Aspect = SizeF(16.0, 9.0)
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — Screen 注釈に対応しました。
annotation = PdfScreenAnnotation(page, rect)
  annotation.Title = "ScreenWithBorder"
  annotation.Border.Width = 3.0
  annotation.Border.Style = PdfBorderStyle.Dashed
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — RichMedia 注釈に対応しました。
annotation = PdfRichMediaAnnotation(page, rect, content)
  annotation.Content = PdfRichMediaContent()
  annotation.Color = PdfRGBColor(Color.get_Green())
  PdfAnnotationCollection.Create(page).Add(annotation)
新機能 — Widget 注釈に対応しました。
doc.LoadFromFile("widget.pdf")
  a = PdfAnnotationCollection.Create(page).get_Item(0)
  a.Characteristics.BackgroundColor
  a.Characteristics.BorderColor
  a.Flatten()
新機能 SPIREPDF-7101 PdfCode128ABarcode インターフェースによる Code 128 バーコードの描画に対応しました。
message = '0123456789'
Code128 = PdfCode128ABarcode(message)
Code128.BarcodeToTextGapHeight = 1.0
Code128.TextDisplayLocation = TextLocation.Bottom
Code128.TextColor = PdfRGBColor(Color.get_Blue())
Code128.Draw(page, PointF(0.0, y))
新機能 SPIREPDF-8150 フローレイアウトによる新しいコンテンツ追加モジュールを追加しました。以下の主要機能をサポートします:
  • 自動ページ分割:コンテンツが溢れた際に自動的に複数ページへ分割。
  • ページテンプレート:ヘッダー、フッター、透かし、余白、カスタム用紙サイズ。
  • マルチセクションドキュメント:複数のセクションを個別にレイアウト。
  • 見出しと目次:3段階の見出し、目次、ブックマーク、ハイパーリンクの自動生成。
  • 段落とリスト:インラインテキスト/画像/ハイパーリンク、箇条書き/番号付きリスト、コードブロック。
  • 表(テーブル):ヘッダー/フッター行、セル結合、固定/比例/自動列幅、ネストされた表。
  • 画像とレイアウト:画像周辺のテキスト折り返し、マルチカラム並列パネル。
  • グラフ:棒グラフ、折れ線グラフ、円グラフ、散布図、ヒストグラム、積層棒グラフ。
  • バーコード:Code128、Code39、EAN-13、QR Code など14種類。
  • アクセシブル PDF:ワンクリックでのタグ付き PDF(Tagged PDF)生成。
from spire.pdf import *

  pdf = PdfDocument()
  builder = PdfContentBuilder(pdf)

  template = PdfPageTemplate()
  template.SetHeader("Product Manual", PdfTextAlignment.Center)
  template.SetFooter("Page {page} of {totalPages}", PdfTextAlignment.Center)
  section = builder.AddSection(template)

  section.AddHeading1("1. Introduction")
  section.AddParagraph("Content flows across pages automatically.")
  section.AddBulletList(["Fast", "Stable", "Easy to use"])

  builder.Build()
  pdf.SaveToFile("output.pdf")
  pdf.Close()
不具合修正 SPIREPDF-7291 PDF に添付ファイルを追加した後、添付ファイルを開けない問題を修正しました。
不具合修正 SPIREPDF-7923 テキストの置換に失敗する問題を修正しました。
不具合修正 SPIREPDF-7939 テキストを抽出する際に余分なスペースが含まれる問題を修正しました。
不具合修正 SPIREPDF-8119 PdfTextWidget インターフェースを使用してテキストを描画した際、位置が正しくならない問題を修正しました。
不具合修正 SPIREPDF-7549 PDF から Word への変換速度を最適化および向上させました。