チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

Koohji

Koohji

Spire.Doc 11.11.0のリリースをお知らせいたします。このバージョンでは、Word、HTML、ODTからPDFへの変換機能、Wordから画像およびPDFへの変換機能が強化されました。 さらに、Doc形式の文書を新規文書として保存した後に編集制限が失われるなど、多くの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREDOC-9369 WordからPDFに変換した後、内容の形式が正しくない問題が修正されました。
Bug SPIREDOC-9456 WordからPDFに変換した後、ページ分割が正しくない問題が修正されました。
Bug SPIREDOC-9594 HTMLからPDFに変換した後、内容が正しくない問題が修正されました。
Bug SPIREDOC-9716 ODTからPDFに変換する際に、「System.ArgumentException」の例外が発生する問題が修正されました。
Bug SPIREDOC-9764 Word文書を結合してPDFに変換した後、目次のページ番号の位置が正しくない問題が修正されました。
Bug SPIREDOC-9765 Word文書を結合してPDFに変換した後、目次の形式が正しくない問題が修正されました。
Bug SPIREDOC-9869 HTMLからPDFに変換した後、画像が表示されない問題が修正されました。
Bug SPIREDOC-9906 RTF文書からOLEオブジェクトをDocx文書にクローンした後、内容が完全に表示されない問題が修正されました。
Bug SPIREDOC-9909 Wordを画像/PDFに変換する際に、「System.InvalidOperationException」の例外が発生する問題が修正されました。
Bug SPIREDOC-9923 Wordのテーブルに新しい行を追加してPDFに変換した後、追加された行が整列されない問題が修正されました。
Bug SPIREDOC-9924 Wordのテーブルの内容を変更した後、PDFに変換する際に「System.IndexOutOfRangeException」の例外が発生する問題が修正されました。
Bug SPIREDOC-9934 Doc形式の文書を新しい文書として保存した後、編集制限の効果が失われる問題が修正されました。
ここで Spire.Doc 11.11.0をダウンロードする

Spire.PDF 9.11.0のリリースをお知らせいたします。このバージョンでは、PDFから画像への変換とSVGへの変換機能が強化されています。また、PDF印刷時に一部のテキストが鮮明に表示されない問題など、既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPDF-6320 PDFから画像への変換速度が改善されました。
Bug SPIREPDF-4552 抽出された内容が正しくない問題が修正されました。
Bug SPIREPDF-5949 PDFドキュメントを分割してから結合すると、ドキュメントが大きくなる問題が修正されました。
Bug SPIREPDF-6017 LinuxでPDFをSVGに変換する際にのプログラムのクラッシュ問題が修正されました。
Bug SPIREPDF-6273 抽出された表の内容が正しくない問題が修正されました。
Bug SPIREPDF-6301 抽出された表の内容の順序が正しくない問題が修正されました。
Bug SPIREPDF-6305 PDFを画像に変換した後のテキストのスタイルが変わる問題が修正されました。
Bug SPIREPDF-6308 パスワードを入力しなくてもファイルの復号化に成功することがある問題が修正されました。
Bug SPIREPDF-6309 PDF文書を比較して保存する際に、プログラムが「System.NullReferenceException」の例外が修正されました。
Bug SPIREPDF-6312 PDFを印刷する際に一部のテキストがはっきり表示されない問題が修正されました。
Bug SPIREPDF-6314 PDFをSVGに変換する際に、プログラムが「System.ArgumentOutOfRangeException」の例外をスローする問題が修正されました。
Bug SPIREPDF-6333 PDFを画像に変換する際に、プログラムが「System.StackOverflowException」の例外をスローする問題が修正されました。
Bug SPIREPDF-6346 テキストを抽出する際に、プログラムが「System.NullReferenceException」の例外をスローする問題が修正されました。
Bug SPIREPDF-6348 表の認識に失敗する問題が修正されました。
ここで Spire.PDF 9.11.0をダウンロードする

PDF の余白とは、コンテンツとページ端の間の空白領域です。多くの場合、余白は中程度か狭く設定し、コンパクトな体裁を作ります。しかし、会社のロゴやその他の関連情報を余白に配置したい場合は、余白をもう少し広くする必要があります。この記事では、C# で Spire.PDF for .NET を使って既存の PDF ドキュメントの余白を増やしたり減らしたりする方法を説明します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で PDF ドキュメントの余白を広げる

PDF ドキュメントの余白を拡大する方法は、ページサイズを大きくした新しい PDF を作成し、その大きなページの適切な位置にソースページを描画することです。以下は、Spire.PDF for .NET を使って PDF ドキュメントの余白を大きくする手順です。

  • PdfDocument オブジェクトを初期化しながら元の PDF ドキュメントを読み込みます。
  • 別の PdfDocument オブジェクトを作成します。
  • 余白の増加値を設定します。
  • 新しい PDF ドキュメントのページサイズを計算します。
  • 元のドキュメント内のページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づいてテンプレートを作成します。
  • PdfDocument.Pages.Add() メ ソ ッ ド を使っ て新 し い PDF ドキュメントにページ を追加 し ます。
  • PdfTemplate.Draw() メソッドを使用して、座標 (0, 0) でページ上にテンプレートを描画します。
  • PdfDocument.SaveToFile() メ ソ ッ ド を使っ て新 し い PDF ドキュメントを保存 し ます。
  • C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace IncreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            //オリジナルのPDFドキュメントをロードする
            PdfDocument originalPdf = new PdfDocument("サンプル.pdf");

            //最初のページを取得する
            PdfPageBase firstPage = originalPdf.Pages[0];

            //新しいPdfDocumentオブジェクトを作成する
            PdfDocument newPdf = new PdfDocument();

            //マージンの増加値を設定する
            PdfMargins margins = newPdf.PageSettings.Margins;
            margins.Top = 40;
            margins.Bottom=40;
            margins.Left=40;
            margins.Right= 40;

            //新しいページサイズを計算する
            SizeF sizeF = new SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom);

            //オリジナルドキュメントのページをループ処理する
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                //特定のページを元にテンプレートを作成する
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                //新しいPDFにページを追加する
                PdfPageBase page = newPdf.Pages.Add(sizeF);

                //テンプレートをページ上に描画する
                pdfTemplate.Draw(page, 0, 0);
            }

            //新しいドキュメントを保存する
            newPdf.SaveToFile("output/マージンの拡大.pdf", FileFormat.PDF);
        }
    }
}

C#:PDF ドキュメントの余白を調整する方法

C# で PDF ドキュメントの余白を縮める

PDF の余白を減らす方法は、ページサイズを小さくした新しい PDF を作成し、指定された座標で小さなページ上にソースページを描画することです。以下は、Spire.PDF for .NET を使用して PDF ドキュメントの余白を縮小する手順です。

  • PdfDocument オブジェクトを初期化しながら元の PDF ドキュメントを読み込みます。
  • 別の PdfDocument オブジェクトを作成します。
  • 余白の減少値を設定します。
  • 新しい PDF ドキュメントのページサイズを計算します。
  • 元のドキュメント内のページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づいてテンプレートを作成します。
  • PdfDocument.Pages.Add() メ ソ ッ ド を使っ て新 し い PDF ドキュメントにページ を追加 し ます。
  • PdfTemplate.Draw() メソッドを使用して、指定した座標でページ上にテンプレートを描画します。
  • PdfDocument.SaveToFile() メソッドを使用して新しいPDFドキュメントをファイルに保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace DecreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            //オリジナルのPDFドキュメントをロードする
            PdfDocument originalPdf = new PdfDocument("サンプル.pdf");

            //最初のページを取得する
            PdfPageBase firstPage = originalPdf.Pages[0];

            //新しいPdfDocumentオブジェクトを作成する
            PdfDocument newPdf = new PdfDocument();

            //減少値を設定する
            float left = -12;
            float right = -12;
            float top = -12;
            float bottom = -12;

            //新しいページサイズを計算する
            SizeF sizeF = new SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom);

            //オリジナルドキュメントのページをループ処理する
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                //特定のページを元にテンプレートを作成する
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                //新しいPDFにページを追加する
                PdfPageBase page = newPdf.Pages.Add(sizeF, new PdfMargins(0));

                //テンプレートをページ上に描画する
                pdfTemplate.Draw(page, left, top);
            }

            //新しいドキュメントを保存する
            newPdf.SaveToFile("output/マージンの縮小.pdf", FileFormat.PDF);
        }
    }
}

C#:PDF ドキュメントの余白を調整する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PDF ドキュメントをパスワードで保護する場合、オプションで一連の権限を指定することができます。権限は、ユーザーがファイルをどのように操作できるかを決定します。例えば、ドキュメントに権限を適用して、ユーザーが印刷やカット&ペースト操作を使用することを禁止することができます。この記事では、C#プログラムで Spire.PDF for .NET を使用して PDF ドキュメントの権限を変更する方法を示します。

Spire.PDF for.NET をインストールします

まず、Spire.PDF for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

PDF ドキュメントのセキュリティ権限の変更

以下は、Spire.PDF for .NET を使用して PDF ドキュメントにセキュリティ権限を適用する手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFileFile() メソッドを使用して PDF ファイルを読み込みます。
  • 開くパスワードと権限パスワードを指定します。生成されたドキュメントを開くのにパスワードを必要としないように、開くパスワードを空に設定することができます。
  • PdfDocument.Security.Encypt() メソッドを使用して、開くパスワードと権限パスワードでドキュメントを暗号化し、セキュリティ権限を設定します。このメソッドは PdfPermissionsFlags 列挙型をパラメータとして取り、暗号化されたドキュメントに対する ユーザーのアクセス権限を定義します。
  • PdfDocument.SaveToFile() メソッドを使用してドキュメントを保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Security;

namespace ChangeSecurityPermission
{
    class Program
    {
        static void Main(string[] args)
        {

            // PdfDocumentクラスのオブジェクトを作成し、PDFドキュメントを読み込む
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("サンプル.pdf");

            // オープンパスワードと権限パスワードを指定する
            string openpassword = string.Empty;
            string permissionpassword = "permissionpsd";

            // ドキュメントをオープンパスワードと権限パスワードで暗号化し、権限と暗号化キーサイズを設定する
            pdf.Security.Encrypt(openpassword, permissionpassword, PdfPermissionsFlags.FullQualityPrint, PdfEncryptionKeySize.Key128Bit);

            // PDFドキュメントを保存する
            pdf.SaveToFile("output/権限設定.pdf");
        }
    }
}

C#:PDF ドキュメントの権限を変更する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel におけるコメントは、セルに追加できるテキストブロックであり、主にセルの内容に関する追加の説明や補足情報を提供するために使用されます。ユーザーは特定のセルにコメントを追加し、ワークシートのデータをより詳しく説明することができます。しかし、時にはコメントが多すぎて視覚的な混雑を引き起こしたり、他のコンテンツを妨げることがあります。この問題を回避するために、既存のコメントをプログラムで非表示にすることができ、ワークシートを整理して読みやすくすることができます。必要な場合には、非表示にされたコメントを簡単に表示することもできます。この記事では、Spire.XLS for Java を使用して Excel のコメントを表示または非表示にする方法を紹介します。

Spire.XLS for Java をインストールします

まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>13.10.0</version>
    </dependency>
</dependencies>

Excel でコメントを非表示にする

Spire.XLS for Java は、Worksheet.getComments().get().isVisble() メソッドを提供して、コメントの表示/非表示を制御します。このメソッドのパラメーターを 「false」に設定することで、既存のコメントを簡単に非表示にすることができます。以下は、Excel でコメントを非表示にするための詳細な手順です。

  • Workbook インスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、サンプルファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.getComments().get().isVisble() メソッドのパラメーターを「false」に設定して、ワークシート内の特定のコメントを非表示にします。
  • 最後に、Workbook.savaToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class HideComment {
    public static void main(String[] args){

        //Workbookインスタンスを初期化する
        Workbook workbook = new Workbook();

        //サンプルファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        //最初のワークシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);

        //ワークシート内の特定のコメントを非表示にする
        sheet.getComments().get(0).isVisible(false);
        sheet.getComments().get(1).isVisible(false);

        //結果ファイルを保存する
        workbook.saveToFile("HideComment.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

Java:Excel でコメントを表示または非表示にする方法

Excel でコメントを表示する

必要な場合には、非表示にされたコメントを簡単に表示することもできます。再び表示したい場合は、Worksheet.getComments().get().isVisble() メソッドのパラメーターを「true」に設定してください。以下は、Excel でコメントを表示する手順です。

  • Workbook インスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、サンプルファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.getComments().get().isVisble() メソッドのパラメーターを「true」に設定して、ワークシートに特定のコメントを表示します。
  • 最後に、Workbook.savaToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ShowComment {
    public static void main(String[] args){

        //Workbookインスタンスを初期化する
        Workbook workbook = new Workbook();

        //サンプルファイルを読み込む
        workbook.loadFromFile("HideComment.xlsx");

        //最初のワークシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);

        //ワークシート内の特定のコメントを表示する
        sheet.getComments().get(0).isVisible(true);

        //結果ファイルを保存する
        workbook.saveToFile("ShowComment.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

Java:Excel でコメントを表示または非表示にする方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Spire.Office 8.10.2を発表できることを嬉しく思います。このバージョンでは、Spire.PDF は段組みのテキスト座標を読み取るために閲覧順序をサポートしています。Spire.DocではWordをPDFに変換する際のテキストの書式設定機能が追加されました。Spire.XLSではピボットテーブルのフィールド名をカスタマイズする機能がサポートされています。Spire.Presentationでは形状内のテキストの位置情報を取得する機能が追加されました。さらに、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

このバージョンでは、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.10.11
  • Spire.Pdf.dll v9.10.2
  • Spire.XLS.dll v13.10.3
  • Spire.Presentation.dll v8.10.3
  • Spire.Email.dll v6.5.8
  • Spire.DocViewer.Forms.dll v8.7.3
  • Spire.PdfViewer.Forms.dll v7.12.1
  • Spire.PdfViewer.Asp.dll v7.12.1
  • Spire.Spreadsheet.dll v7.4.3
  • Spire.OfficeViewer.Forms.dll v8.10.2
  • Spire.Barcode.dll v7.2.3
  • Spire.DataExport.dll v4.9.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 8.10.2をダウンロードする:

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

Spire.PDF

カテゴリー ID 説明
New feature SPIREPDF-6153 段組み文書のテキスト座標を読み取るためのサポートが追加されました。
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(input);
PdfPageBase pdfPageBase = doc.Pages[0];
PdfTextFinder finder = new PdfTextFinder(pdfPageBase);
finder.Options.Strategy = PdfTextStrategy.Simple;
New feature SPIREPDF-6264 PdfStringFormatのHorizontalScalingFactorプロパティを設定する機能が追加されました。
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
string text = "Please add the code picture BehindText=true to set the picture behind text";
PdfSolidBrush solidBrush = new PdfSolidBrush (new PdfRGBColor(Color.Black));
PdfStringFormat format = new PdfStringFormat():
format.HorizontalScalingFactor = 80;
PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Regular);
PdfGraphicsState state = page.Canvas.Save();
page.Canvas.DrawString(text, font, solidBrush, 0, 0, format);
page.Canvas.Restore(state):
doc.SaveToFile(outputFile);
doc.Close();
New feature SPIREPDF-6285 パスワード保護されたPDF文書の変換時に変換を許可するかどうかを設定する機能が追加されました。
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(inputFile);
doc.ConvertOptions.ApplyPermissionsOptions(true);
StringBuilder sb = new StringBuilder();
    foreach (FileFormat type in Enum.GetValues(typeof(FileFormat)))
        {
            try
                {
                    if (type.ToString().Equals("PDF"))
                    {
                        doc.SaveToFile(outputFile_P, type);
                    }
                    else
                    {
                        doc.SaveToFile(outputFile, type);
                    }
                }
                catch (Exception ex)
                {
                    sb.AppendLine("save to: "+ type +"  :"+ ex.Message);
                }
            }
File.AppendAllText(outputFile,sb.ToString());
doc.Dispose();
Bug SPIREPDF-5579 抽出された表のデータフォーマットが正しくない問題が修正されました。
Bug SPIREPDF-6089 テーブルにセル間のスペースを設定した後、出力結果が正しくならない問題が修正されました。
Bug SPIREPDF-6244 XFAのテキストボックスフォームフィールドの入力が成功しない問題が修正されました。
Bug SPIREPDF-6262 PDFファイルを結合する際に「System.IO.IOExceptions: Stream was too long」という例外が発生する問題が修正されました。
Bug SPIREPDF-6268 textboxフィールドに入力後、フォントが正しく適用されない問題が修正されました。
Bug SPIREPDF-6284 パスワード保護されたPDFをWordに変換する際に、パスワードの入力を要求しない問題が修正されました。
Bug SPIREPDF-6292 OFDをPDFに変換する際に「System.NullReferenceException」という例外が発生する問題が修正されました。
Bug SPIREPDF-6303 「new PdfGoToAction(partBookmarkDest)」が機能しない問題が修正されました。

Spire.Doc

カテゴリー ID 説明
New feature - WordをPDFに変換する際のテキストの書式設定機能が追加されました(主にタイ文字とチベット文字の処理に対応)。また、.NET 4.6.2以上、.NET Core、および.NET Standardプラットフォームに対応しています。
Document doc = new Document();
doc.LoadFromFile(fileName);
doc.LayoutOptions.UseHarfBuzzTextShaper = true;
doc.SaveToFile(pdfFileName, Spire.Doc.FileFormat.PDF)
Bug SPIREDOC-9831 そのバージョンでは、WordをPDFに変換する際にタイ語の文字が整列や改行されない問題が修正されました。

Spire.XLS

カテゴリー ID 説明
New feature SPIREXLS-4907 ExcelからPDFへの変換効率が向上されました。
New feature SPIREXLS-4857 ピボットテーブルのフィールド名をカスタマイズする機能がサポートされています。
sheet.PivotTables[0].RowFields[0].CustomName = "rowName";
sheet.PivotTables[0].ColumnFields[0].CustomName = "colName";
sheet.PivotTables[0].PivotFields[0].CustomName = "fieldName1";
sheet.PivotTables[0].DataFields[0].CustomName = "dataName";
Bug SPIREXLS-4883 Excel を HTML に変換した後に画像の位置が変わる問題が修正されました。
Bug SPIREXLS-4897 削除されたコメントがドキュメントから正常に削除されない問題が修正されました。
Bug SPIREXLS-4909 Excel文書の読み込み時に、プログラムが「System.OverflowException」をスローする問題が修正されました。

Spire.Presentation

カテゴリー ID 説明
New feature SPIREPPT-2324 形状内のテキストの位置情報を取得する機能がサポートされています。
Presentation ppt = new Presentation();
 ppt.LoadFromFile(inputFile);
 StringBuilder sb = new StringBuilder();
 ISlide slide = ppt.Slides[0];
 for (int i = 0; i < slide.Shapes.Count; i++)
 {
     IShape shape = slide.Shapes[i];
     if (shape is IAutoShape)
     {
         IAutoShape autoshape = slide.Shapes[i] as IAutoShape;
         string text = autoshape.TextFrame.Text;
         //obtain the text position information
         PointF point = autoshape.TextFrame.GetTextLocation();
         sb.AppendLine("Shape " + i + ":" + text + "\r\n" + "location:" + point.ToString());
     }
 }
 File.AppendAllText(outputFile, sb.ToString());
 ppt.Dispose();
New feature SPIREPPT-2350 形状中のテキストの "Ascent" および "Descent" 属性を取得する機能がサポートされています。
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
IAutoShape autoshape = slide.Shapes[0] as IAutoShape;
IList lines = autoshape.TextFrame.GetLayoutLines();
for (int i = 0; i < lines.Count; i++)
{
   float ascent= lines[i].Ascent;
   float descent = lines[i].Descent;
}
New feature SPIREPPT-2365 形状からSVGへの変換がサポートされています。
Presentation ppt = new Presentation();
ppt.LoadFromFile("FreeForm.pptx");
ISlide slide = ppt.Slides[0];
int num = 0;
foreach (IShape shape in slide.Shapes)
{
    byte[] svgByte = shape.SaveAsSvg();
    FileStream fs = new FileStream("shape_" + num + ".svg",FileMode.Create);
    fs.Write(svgByte, 0, svgByte.Length);
    fs.Close();
    num++;
}
Bug SPIREPPT-2350 PPTをSVGに変換した後、ブラウザでSVGファイルを開いたときに空白になっていた問題が修正されました。

Excel ファイルは、複数のワークシートとさまざまなデータタイプを含むスプレッドシートです。一方、CSV ファイルは、コンマで区切られた数字と文字だけを含む純粋なテキストファイルです。Excel ファイルを CSV 形式で保存すると、ファイルの互換性が向上し、共有が容易になります。 これは、CSV ファイルはさまざまなアプリケーションやプログラミング言語で簡単に読み取って処理できるためです。逆に、CSV ファイルを Excel ファイルに変換することで、テキストデータを Excel にインポートし、より複雑なデータ分析や処理を行うことができます。この記事では、Spire.XLS for Java を使用して Excel を CSV に変換し、CSV を Excel に変換する方法を紹介します。

Spire.XLS for Java をインストールします

まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>13.10.0</version>
    </dependency>
</dependencies>

Java で Excel を CSV に変換する

Spire.XLS for Java は、Worksheet.saveToFile() メソッドを使用して Excel から CSV への変換をサポートしています。詳細な手順は次のとおりです。

  • Workbook インスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します 。
  • Worksheet.saveToFile() メソッドを使用して、ワークシートを CSV に保存します。
  • Java
import com.spire.xls.*;
import java.nio.charset.Charset;

public class ExcelToCSV {
    public static void main(String[] args) {

        //Workbookインスタンスを作成する
        Workbook workbook = new Workbook();

        //Excelファイルを読み込む
        workbook.loadFromFile("sample.xlsx");

        //数式があれば計算する
        workbook.calculateAllValue();

        //最初のワークシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);

        //ワークシートを CSV に保存する
        sheet.saveToFile("output/ToCSV.csv", ",", Charset.forName("UTF-8"));
        workbook.dispose();
    }
}

Java:Excel と CSV の相互変換方法

Java で CSV を Excel に変換する

Spire.XLS for Java が提供する Workbook.saveToFile() メソッドは、CSV から Excel 形式への変換もサポートしています。以下に詳細な手順を示します。

  • Workbook インスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、サンプル CSV ファイルをロードします。
  • Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して、特定のセル範囲を指定します。
  • CellRange.setIgnoreErrorOptions (java.util.EnumSet ignoreErrorOptions) メソッドを使用して、セル内の数値をテキストとして設定する場合はエラーを無視します。
  • CellRange クラスが提供するメソッドを使用して、行の高さと列の幅を自動的に調整します。
  • Workbook.saveToFile() メソッドを使用して、CSVを XLSX ファイルに保存します。
  • Java
import com.spire.xls.*;
import java.util.EnumSet;

public class CSVToExcel {
    public static void main(String[] args) {

        //Workbookインスタンスを作成する
        Workbook workbook = new Workbook();

        //サンプルCSVファイルをロードする
        workbook.loadFromFile("output/ToCSV.csv", ",", 1, 1);

        //最初のワークシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);

        //特定のセル範囲を指定し、セルに数値をテキストとして設定する場合のエラーを無視する
    sheet.getCellRange("A1:D6").setIgnoreErrorOptions(EnumSet.of(IgnoreErrorType.NumberAsText));

        //行の高さと列の幅を自動的に調整する
        sheet.getAllocatedRange().autoFitColumns();
        sheet.getAllocatedRange().autoFitRows();

        //CSVを XLSX ファイルに保存する
        workbook.saveToFile("output/CSVToExcel.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

Java:Excel と CSV の相互変換方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Spire.Office for Java 8.10.2を発表できることをうれしく思います。このリリースでは、Spire.XLS for Javaは編集を制限するパスワードが正しいかどうかの検証をサポートしています。Spire.PDF for JavaではAES暗号化アルゴリズムの設定と既存のフィールド名のリセットがサポートされています。Spire.Doc for JavaではAppendHorizonalLine() メソッドをJavaに同期させました。Spire.Presentation for Javaでは指定されたスライドから SVG への変換および PPT から SVGZ への変換がサポートされました。さらに、多くの既知のバグも修正されました。詳細は以下の内容を読んでください。

ここで Spire.Office for Java 8.10.2をダウンロードする:

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

Spire.XLS for Java

カテゴリー ID 説明
New feature SPIREXLS-4896 編集を制限するパスワードが正しいかどうかの検証をサポートしています。
worksheet.checkProtectionPassword(String password) 
Bug SPIREXLS-4879 ExcelをPDFに変換した後、ドキュメントの内容が正しくない問題が修正されました。
Bug SPIREXLS-4890
SPIREXLS-4908
Excelを画像に変換した後、グラフの内容が正しくない問題が修正されました。
Bug SPIREXLS-4893 ExcelをOFDに変換した後、テーブルの枠線が失われる問題が修正されました。
Bug SPIREXLS-4900 Excelドキュメントを読み込む際に、「Invalid ValidationAlertType string val」例外が発生した問題が修正されました。
Bug SPIREXLS-4901 ピボットテーブルの計算フィールドを列フィールドとして追加できない問題が修正されました。
Bug SPIREXLS-4902 ピボットテーブルの計算フィールドの名前に自動的に「Sum of」の接頭辞が追加される問題が修正されました。
Bug SPIREXLS-4910 Excelドキュメントを読み込む際に、「java.lang.ClassException」例外が発生した問題が修正されました。

Spire.PDF for Java

カテゴリー ID 説明
New feature - .NET の新しい暗号化インターフェイスを JAVA に同期し、AES 暗号化アルゴリズムの設定をサポートします。
PdfEncryptionAlgorithm.AES
//パスワードセキュリティポリシーを作成する
PdfSecurityPolicy securityPolicy = new PdfPasswordSecurityPolicy("", "123456"); 
//暗号化アルゴリズムを設定する
securityPolicy.setEncryptionAlgorithm( PdfEncryptionAlgorithm.AES_256); 
//文書のアクセス許可 (所有権) を設定する。デフォルトは ForbidAll です
securityPolicy.setDocumentPrivilege(PdfDocumentPrivilege.getForbidAll());
securityPolicy.getDocumentPrivilege().setAllowDegradedPrinting(true);
securityPolicy.getDocumentPrivilege().setAllowModifyAnnotations(true);
securityPolicy.getDocumentPrivilege().setAllowAssembly(true);
securityPolicy.getDocumentPrivilege().setAllowModifyContents(true);
securityPolicy.getDocumentPrivilege().setAllowFillFormFields(true);
securityPolicy.getDocumentPrivilege().setAllowPrint(true);
pdf.encrypt(securityPolicy);
PdfDocument pdf = new PdfDocument();
//パスワードを渡して、PDF ドキュメントを開きます
pdf.loadFromFile(inputFile, "1234"); 
//復号化
pdf.decrypt();
pdf.saveToFile(outputFile, FileFormat.PDF);
pdf.dispose();
New feature SPIREPDF-6306 既存のフィールド名のリセットがサポートされています。
PdfDocument document=new PdfDocument();
document.loadFromFile("input.pdf");
PdfFormWidget formWidget = (PdfFormWidget)document.getForm();
for (int i = 0; i < formWidget.getFieldsWidget().getCount(); i++)
{
    PdfField field = (PdfField)formWidget.getFieldsWidget().get(i);
    for (PdfFieldWidget widget : (Iterable) formWidget.getFieldsWidget())
    {
        if (widget.getName() == "oldName")
        {
            widget.setName("NewName");
        }
    }
}
document.saveToFile("result.pdf",FileFormat.PDF);
Bug SPIREPDF-6253
SPIREPDF-6313
PDFをSVGに変換した後、背景が正しくない問題が修正されました。
Bug SPIREPDF-6275 PDFをPPTXに変換した後、図形の色が正しくなく、内容が欠落する問題が修正されました。
Bug SPIREPDF-6277 PDFをPPTXに変換した後、画像が隠れる問題が修正されました。
Bug SPIREPDF-6300 PDFをPDFA2Bに変換した後、標準の検証に失敗する問題が修正されました。
Bug SPIREPDF-6307 OFDをPDFに変換した後、スタンプが失われる問題が修正されました。
Bug SPIREPDF-6324 PDFを読み込む際に「NullPointerException」というエラーが発生する問題が修正されました。

Spire.Doc for Java

カテゴリー ID 説明
New feature SPIREDOC-9912 AppendHorizonalLine() メソッドをJavaに同期させました。
paragraph.appendHorizonalLine()
New feature - 非フローレイアウトのドキュメントに変換する際に、文字の描画がサポートされていないフォントを FontFallbackRule メソッドの XML で切り替えることもサポートしています。
Document doc = new Document();
doc.loadFromFile(inputFile);
doc.saveFontFallbackRuleSettings(outputFile_xml);
doc.loadFontFallbackRuleSettings(outputFile_xml);
doc.saveToFile(outputFile, FileFormat.PDF);

説明:
XMLがない場合は、 saveFontFallbackRuleSettings を使用してXMLを保存します。その後、XML内のフォント置換ルールを手動で編集してください。
現在、ルールには 3つのプロパティが含まれています。
Ranges- 対応する文字に対応する Unicode 範囲。
FallbackFonts - 対応する文字を置換する必要があるフォントの名前。
BaseFonts - ドキュメント内の文字に対応するフォント名。
XMLを編集する際には、ルールが上から下に向かって文字に一致するかどうかを検索することに注意してください。
XMLの編集が完了したら、loadFontFallbackRuleSettings メソッドを使用してルールを読み込んでください。
Bug SPIREDOC-9711 WPS レイアウトを使用して Word を PDF に変換するときに、アプリケーションが「OutOfMemoryError」をスローする問題が修正されました。
Bug SPIREDOC-9781 「Regular_GB2312」フォントの埋め込みが失敗する問題が修正されました。
Bug SPIREDOC-9842 RTFをPDFに変換した後に、中国語の文字が文字化けする問題が修正されました。
Bug SPIREDOC-9854 Wordドキュメントを保存した後に、編集可能な領域が変更される問題が修正されました。
Bug SPIREDOC-9860 Wordドキュメントを修正した後に、編集可能な領域が変更される問題が修正されました。
Bug SPIREDOC-9862 画像のズームサイズの設定結果が正しくない問題が修正されました。
Bug SPIREDOC-9871 WordをHTMLに変換した後に、テーブルのスタイルが正しくない問題が修正されました。
Bug SPIREDOC-9880 HTMLをWordに変換した後に、フォントサイズが正しくない問題が修正されました。
Bug SPIREDOC-9891 executeWidthNestedRegion() メソッドを使用してメールマージを行った後、各値が2回表示される問題が修正されました。
Bug SPIREDOC-9892 WordをOFDに変換した後に、ファイルのサイズが大幅に増加する問題が修正されました。

Spire.Presentation for Java

カテゴリー ID 説明
New feature SPIREPPT-2328 PPTからSVGZ形式のドキュメントへの変換がサポートされました。
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
List<byte[]> bytes=ppt.saveToSVGZ();
for (int i=0;i<bytes.size();i++){
    FileOutputStream fileOutputStream=new FileOutputStream("slide"+i+".svgz");
    fileOutputStream.write(bytes.get(i));
    fileOutputStream.flush();
    fileOutputStream.close();
}
New feature SPIREPPT-2372 指定したスライドからSVG形式のドキュメントへの変換がサポートされました。
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
List<byte[]> bytes=ppt.saveToSVG(0,36);
for (int i=0;i<bytes.size();i++){
    FileOutputStream fileOutputStream=new FileOutputStream("slide"+(i+1)+".svg");
    fileOutputStream.write(bytes.get(i));
    fileOutputStream.flush();
    fileOutputStream.close();
}
Bug SPIREPPT-2343 PPTをPDFに変換した後、コンテンツが完全に表示されない問題が修正されました。
Bug SPIREPPT-2369 PPTをPDFに変換した後、手書き図が失われる問題が修正されました。
Bug SPIREPPT-2377 PPTドキュメントを読み込む際に、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。

Spire.Presentation for Java 8.10.4を発表できることをうれしく思います。このバージョンでは、指定されたスライドから SVG への変換および PPT から SVGZ への変換がサポートされました。PPTからPDFへの変換機能も強化されました。また、PPTドキュメントを読み込む際に、アプリケーションが「java.lang.NullPointerException」をスローするなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2328 PPTからSVGZ形式のドキュメントへの変換がサポートされました。
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
List<byte[]> bytes=ppt.saveToSVGZ();
for (int i=0;i<bytes.size();i++){
    FileOutputStream fileOutputStream=new FileOutputStream("slide"+i+".svgz");
    fileOutputStream.write(bytes.get(i));
    fileOutputStream.flush();
    fileOutputStream.close();
}
New feature SPIREPPT-2372 指定したスライドからSVG形式のドキュメントへの変換がサポートされました。
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
List<byte[]> bytes=ppt.saveToSVG(0,36);
for (int i=0;i<bytes.size();i++){
    FileOutputStream fileOutputStream=new FileOutputStream("slide"+(i+1)+".svg");
    fileOutputStream.write(bytes.get(i));
    fileOutputStream.flush();
    fileOutputStream.close();
}
Bug SPIREPPT-2343 PPTをPDFに変換した後、コンテンツが完全に表示されない問題が修正されました。
Bug SPIREPPT-2369 PPTをPDFに変換した後、手書き図が失われる問題が修正されました。
Bug SPIREPPT-2377 PPTドキュメントを読み込む際に、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
ここで Spire. Presentation for Java 8.10.4をダウンロードする

特定のニーズや好みに合うように、Word 文書のページサイズを調整する必要がある場合があります。たとえば、パンフレットやチラシのような小さな用紙サイズに印刷する文書を作成する場合、印刷時の切り抜きや拡大縮小の問題を避けるために、文書のページサイズを小さくしたいと思うかもしれません。この記事では、Spire.Doc for .NET を使用して、C# で Word 文書のページサイズを調整する方法を説明します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

C# で Word 文書のページサイズを標準サイズに調整する

Spire.Doc for .NET を使用すると、Word 文書のページサイズを A3、A4、A5、A6、B4、B5、B6、Letter、Legal、Tabloid などのさまざまな標準ページサイズに簡単に調整できます。以下の手順では、Spire.Doc for .NET を使用して Word 文書のページサイズを標準ページサイズに変更する方法を説明します。

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • 文書内のセクションをループ処理します。
  • Section.PageSetup.PageSize プロパティの値を PageSize 列挙型の定数値に設定して、各セクションのページサイズを標準のサイズに調整します。
  • Document.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;

namespace ChangePageSizeToStandardSize
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Document クラスのインスタンスを初期化します
            Document doc = new Document();
            //Word ドキュメントをロードします
            doc.LoadFromFile("サンプル.docx");

            //文書内のセクションをループする
            foreach (Section section in doc.Sections)
            {
                //各セクションのページサイズをA4に変更する
                section.PageSetup.PageSize = PageSize.A4;
            }            

            //結果のドキュメントを保存します
            doc.SaveToFile("output/標準サイズ.docx", FileFormat.Docx2016);
        }
    }
}

C#:Word ドキュメントのページサイズを調整する方法

C# で Word 文書のページサイズをカスタムサイズに調整する

標準の用紙サイズに一致しない寸法の用紙に文書を印刷する予定がある場合、文書のページサイズを用紙の寸法に正確に一致するカスタム ページ サイズに変更できます。以下の手順では、Spire.Doc for .NET を使用して Word 文書のページサイズをカスタムページサイズに変更する方法を説明します。

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントをロードします。
  • 指定された寸法から SizeF 構造体のインスタンスを初期化します。
  • 文書内のセクションをループ処理します。
  • Section.PageSetup.PageSize プロパティに SizeF インスタンスを代入して、各セクションのページサイズを指定された寸法に調整します。
  • Document.SaveToFile() メソッドを使用して、結果のドキュメントを保存します。
  • C#
using Spire.Doc;
using System.Drawing;

namespace ChangePageSizeToStandardSize
{
    internal class Program1
    {
        static void Main(string[] args)
        {
            //Document クラスのインスタンスを初期化します
            Document doc = new Document();
            //Word ドキュメントをロードします
            doc.LoadFromFile("サンプル.docx");

            //指定された寸法から SizeF 構造体のインスタンスを初期化します
            SizeF customSize = new SizeF(600, 800);

            //文書内のセクションをループする
            foreach (Section section in doc.Sections)
            {
                //各セクションのページサイズを指定された寸法に変更します
                section.PageSetup.PageSize = customSize;
            }            

            //結果のドキュメントを保存します
            doc.SaveToFile("output/カスタム サイズ.docx", FileFormat.Docx2016);
        }
    }
}

C#:Word ドキュメントのページサイズを調整する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。