チュートリアル

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

Koohji

Koohji

デフォルトでは、PowerPoint プレゼンテーションにアクセスできる人は誰でも開いて編集できます。 PowerPoint プレゼンテーションが不正に表示されたり変更されたりするのを防ぎたい場合は、パスワードで保護できます。 パスワード保護を追加するだけでなく、編集を妨げるために文書を最終としてマークするなど、文書を保護する他の方法を選択することもできます。 ドキュメントを公開したい場合は、いつでも保護を解除できます。この記事では、Spire.Presentation for .NET を使用して C# で PowerPoint プレゼンテーションを保護または保護解除する方法を示します。

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

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

PM> Install-Package Spire.Presentation

PowerPoint プレゼンテーションをパスワードで保護する

PowerPoint をパスワードで保護すると、正しいパスワードを持つユーザーだけがドキュメントを表示および編集できるようになります。 以下に詳細な手順を示します。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.Encrypt() メソッドを使用して、ドキュメントをパスワードで暗号化します。
  • Presentation.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace ProtectPPTWithPassword
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成する
            Presentation presentation = new Presentation();

            //PowerPoint ドキュメントをロードする
            presentation.LoadFromFile(@"Sample.pptx");

            //ドキュメントをパスワードで暗号化する
            presentation.Encrypt("your password");

            //結果ドキュメントを保存する
            presentation.SaveToFile("Encrypted.pptx", FileFormat.Pptx2013);
        }
    }
}

C#:PowerPoint プレゼンテーションを保護または保護解除する方法

PowerPoint プレゼンテーションを最終版としてマークする

PowerPoint ドキュメントを最終版としてマークすると、ドキュメントが最終バージョンであり、それ以上編集する必要がないことを読者に知らせることができます。以下に詳細な手順を示します。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.DocumentProperty[] プロパティを使用して、ドキュメントを最終版としてマークします。
  • Presentation.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace MarkPPTAsFinal
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成する
            Presentation ppt = new Presentation();

            //PowerPoint ドキュメントをロードする
            ppt.LoadFromFile(@"Sample.pptx");

            //ドキュメントを最終版としてマークする
            ppt.DocumentProperty["_MarkAsFinal"] = true;

            //結果ドキュメントを保存する
            ppt.SaveToFile("MarkAsFinal.pptx", FileFormat.Pptx2013);
        }
    }
}

C#:PowerPoint プレゼンテーションを保護または保護解除する方法

PowerPoint プレゼンテーションからパスワード保護を削除する

文書の保護が不要になった場合は、パスワードを削除して保護を解除することもできます。以下に詳細な手順を示します。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.RemoveEncryption() メソッドを使用して、ドキュメントからパスワード保護を削除します。
  • Presentation.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace RemovePasswordProtectionFromPPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成する
            Presentation presentation = new Presentation();

            //パスワードで保護された PowerPoint ドキュメントをロードする
            presentation.LoadFromFile(@"Encrypted.pptx", "your password");

            //ドキュメントからパスワード保護を削除する
            presentation.RemoveEncryption();

            //結果ドキュメントを保存する
            presentation.SaveToFile("RemoveProtection.pptx", FileFormat.Pptx2013);
        }
    }
}

C#:PowerPoint プレゼンテーションを保護または保護解除する方法

PowerPoint プレゼンテーションから最終オプションとしてマークを削除する

「最終版にする」機能は、PowerPoint ドキュメントを読み取り専用にして、それ以上の変更を防止します。 ドキュメントを再度変更したい場合は、ドキュメントから「最終版にする」機能を削除できます。以下に詳細な手順を示します。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.DocumentProperty[] プロパティを使用して、ドキュメントから「最終版にする」機能を削除します。
  • Presentation.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace RemoveMarkAsFinalFromPPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成する
            Presentation ppt = new Presentation();

            //PowerPoint ドキュメントをロードする
            ppt.LoadFromFile(@"MarkAsFinal.pptx");

            //ドキュメントから「最終版にする」機能を削除する
            ppt.DocumentProperty["_MarkAsFinal"] = false;

            //結果ドキュメントを保存する
            ppt.SaveToFile("RemoveMarkAsFinal.pptx", FileFormat.Pptx2013);
        }
    }
}

C#:PowerPoint プレゼンテーションを保護または保護解除する方法

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

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

ハイパーリンクはクリック可能な要素であり、多くの場合テキストや画像に埋め込まれており、ユーザーがさまざまな Web ページ、ドキュメント、またはリソースに移動してアクセスするのに役立ちます。 PowerPoint プレゼンテーションにハイパーリンクを追加すると、ユーザーはスライドを表示またはプレゼンテーションするときに関連コンテンツに簡単にアクセスでき、プレゼンテーション プロセス中の利便性が向上します。この記事では、Spire.Presentation for .NET を使用して C# で PowerPoint プレゼンテーションにハイパーリンクを追加する方法を示します。

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

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

PM> Install-Package Spire.Presentation

C# でスライドのテキストにハイパーリンクを追加する

Spire.Presentation for .NET では、TextRange.ClickAction.Address プロパティを使用して、スライド上のテキストにハイパーリンクを簡単に挿入することができます。以下はその詳細な手順です。

  • 新しい PowerPoint プレゼンテーションを作成します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ファイルをロードします。
  • Presentation.Slides[] プロパティを使用して最初のスライドを取得します。
  • ISlide.Shapes.AppendShape() メソッドを使用して、スライドに長方形を追加します。
  • 図形内のデフォルトの段落を削除します。
  • テキスト段落を表す TextParagraph インスタンスを作成します。
  • テキスト範囲を表す TextRange インスタンスを作成し、TextRange.ClickAction.Address プロパティでリンク アドレスを設定します。
  • テキストの残りの部分を表す別の TextRange インスタンスを作成します。
  • TextParagraph.TextRanges.Append() メソッドを使用して、段落にテキスト範囲を追加します。
  • IAutoShape.TextFrame.Paragraphs.Append() メソッドを使用して、段落を図形に追加します。
  • 各段落のすべてのテキスト範囲をループし、それらのフォントを設定します。
  • Presentation.SaveToFile() メソッドを使用して、結果ファイルを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;

namespace Hyperlink
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成する
            Presentation presentation = new Presentation();

            //PowerPoint ファイルを読み込む
            presentation.LoadFromFile("sample.pptx", FileFormat.Pptx2010);

            //最初のスライドを取得する
            ISlide slide = presentation.Slides[0];

            //スライドに図形を追加する
            RectangleF rec = new RectangleF(presentation.SlideSize.Size.Width / 2 - 120, 200, 500, 150);
            IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, rec);
            shape.Fill.FillType = FillFormatType.None;
            shape.ShapeStyle.LineColor.Color = Color.White;

            //図形内のデフォルトの段落を削除する
            shape.TextFrame.Paragraphs.Clear();

            //TextParagraph インスタンスを作成する
            TextParagraph para = new TextParagraph();

            //TextRangeインスタンスを作成する
            TextRange tr = new TextRange("Spire.Presentation for .NET");

            //テキスト範囲のハイパーリンクアドレスを設定する
            tr.ClickAction.Address = "https://jp.e-iceblue.com/introduce/spire-presentation-for-net.html";

            //テキスト範囲を段落に追加する
            para.TextRanges.Append(tr);

            //TextRangeインスタンスを作成する
            tr = new TextRange("は、開発者が .NETでPowerPoint文書を作成・読み込み・書き出し・変換・印刷するために設計された専門的な PowerPoint のライブラリです。"
                + "これは完全に独立したスタンドアロン API なので、Microsoft PowerPoint を実行環境にインストールする必要はありません。");

            //テキスト範囲を段落に追加する
            para.TextRanges.Append(tr);

            //段落を図形に追加する
            shape.TextFrame.Paragraphs.Append(para);

            //図形内の段落をループする
            foreach (TextParagraph textPara in shape.TextFrame.Paragraphs)
            {
                if (!string.IsNullOrEmpty(textPara.Text))
                {

                    //各段落のテキスト範囲をループする
                    foreach (TextRange textRange in textPara.TextRanges)
                    {

                        //フォントを設定する
                        textRange.LatinFont = new TextFont("Yu Mincho");
                        textRange.FontHeight = 20;
                        textRange.Fill.FillType = FillFormatType.Solid;
                        textRange.Fill.SolidColor.Color = Color.Black;
                    }
                }
            }

            //プレゼンテーションを保存する
            presentation.SaveToFile("TextHyperlink.pptx", FileFormat.Pptx2013);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションにハイパーリンクを追加する方法

C# でスライドの画像にハイパーリンクを追加する

Spire.Presentation for .NET は、画像へのハイパーリンクの追加もサポートしています。ClickHyperlink クラスを使用してハイパーリンクを作成し、IEmbedImage.Click プロパティを使用してハイパーリンクを画像に追加できます。関連する手順は次のとおりです。

  • 新しい PowerPoint プレゼンテーションを作成します。
  • Presentation.LoadFromFile() メソッドを使用して 、PowerPoint ファイルをロードします。
  • Presentation.Slides[] プロパティを使用して、 2 番目のスライドを取得します。
  • ISlide.Shapes.AppendEmbedImage() メソッドを使用して、スライドに画像を追加します。
  • ClickHyperlink オブジェクトを作成し、IEmbedImage.Click プロパティを使用して、追加された画像にハイパーリンクを追加します。
  • Presentation.SaveToFile() メソッドを使用して、結果ファイルを保存します。
  • C#
using Spire.Presentation;
using System.Drawing;
namespace ImageHyperlink
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationクラスのオブジェクトを初期化する
            Presentation presentation = new Presentation();

            //PowerPoint ファイルを読み込む
            presentation.LoadFromFile("TextHyperlink.pptx", FileFormat.Pptx2010);

            //2 番目のスライドを取得する
            ISlide slide = presentation.Slides[1];

            //スライドに画像を追加する
            RectangleF rect = new RectangleF(100, 50, 150, 150);
            IEmbedImage image = slide.Shapes.AppendEmbedImage(ShapeType.Rectangle, @"logo.png", rect);

            //画像にハイパーリンクを追加する
            ClickHyperlink hyperlink = new ClickHyperlink("https://jp.e-iceblue.com/introduce/spire-presentation-for-net.html");
            image.Click = hyperlink;

            //結果ファイルを保存する
            presentation.SaveToFile("ImageHyperlink.pptx", FileFormat.Pptx2010);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションにハイパーリンクを追加する方法

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

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

Spire.Doc for Java 12.2.2のリリースを発表できることを嬉しく思います。このバージョンでは、Word と RTF から PDF への変換機能、および Doc から Docx への変換機能が強化されています。 さらに、更新されたディレクトリの内容が正しくない問題など、多くの既知の問題が正常に修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREDOC-9689 Wordを PDF に変換するときに余分な赤い縦線が表示される問題を修正しました。
Bug SPIREDOC-9911 RTF を PDF に変換するときにテキストが失われる問題を修正しました。
Bug SPIREDOC-10009 マルチスレッド環境で同じ Word 文書を PDF 文書に複数回変換すると、プログラムが java.lang.NullPointerException をスローする問題を修正しました。
Bug SPIREDOC-10018 Word を PDF に変換するときにコンテンツが正しくない問題を修正しました。
Bug SPIREDOC-10031 マルチスレッド環境で同じ Word 文書を複数回 PDF に変換すると、PDF ファイルのサイズが不一致になる問題を修正しました。
Bug SPIREDOC-10130 Word を PDF に変換するときに、ヘッダーの数字が正しく表示されない問題を修正しました。
Bug SPIREDOC-10216 更新されたディレクトリの内容が正しくない問題を修正しました。
Bug SPIREDOC-10236 Word を PDF に変換するときにプログラムが java.lang.NullPointerException をスローする問題を修正しました。
Bug SPIREDOC-10238 DocをDocxに変換する際に文字化けが発生する問題を修正しました。
Bug SPIREDOC-10258 マルチスレッド環境でフォルダーに複数のファイルをロードするときにプログラムが複数の例外をスローする問題を修正しました。
Bug SPIREDOC-10274 Word を PDF に変換するときに余分なスラッシュが発生する問題を修正しました。
Bug SPIREDOC-10276 ヘッダーと前のセクションのリンクを解除した後、ヘッダーのコンテンツが繰り返し表示される問題を修正しました。
ここで Spire.Doc for Java 12.2.2をダウンロードする

PowerPoint のテーブルは、ユーザーが明確、簡潔、そして視覚的に魅力的な方法でデータを表示および整理できる強力なツールです。 テーブルを使用すると、複雑な情報を効果的に他の人に伝達し、理解しやすくすることもできます。この記事では、Spire.Presentation for .NET を使用して C# で PowerPoint プレゼンテーションにテーブルを挿入する方法を示します。

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

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

PM> Install-Package Spire.Presentation

C# で PowerPoint プレゼンテーションにテーブルを挿入する

ISlide.Shapes.AppendTable(float x, float y, double[] widths, double[] heights) メソッドを使用して、PowerPoint プレゼンテーションの特定のスライドにテーブルを追加できます。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile(string file) メソッドを使用して PowerPoint プレゼンテーションをロードします。
  • Presentation.Slides[int index] プロパティを使用して特定のスライドを取得します。
  • テーブル内の行数、列数、サイズを指定するために使用される 2 つの double 配列、幅と高さを定義します。
  • ISlide.Shapes.AppendTable(float x, float y, double[] widths, double[] heights) メソッドを使用して、指定された行数と列数とサイズを持つテーブルをスライド上の特定の位置に追加します。
  • テーブルのデータを 2 次元文字列配列に格納します。
  • 文字列配列をループし、ITable[int columnIndex, int rowIndex].TextFrame.Text プロパティを使用して、各セルに対応するデータを割り当てます。
  • テーブルの最初の行の配置を中央に設定します。
  • ITable.StylePreset プロパティを使用して、テーブルに組み込みのスタイルを適用します。
  • Presentation.SaveToFile(string file, FileFormat fileFormat) メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace InsertTable
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Presentation クラスのインスタンスを初期化する
            Presentation presentation = new Presentation();

            //PowerPoint プレゼンテーションをロードする
            presentation.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.pptx");

            //最初のスライドを取得する
            ISlide slide = presentation.Slides[0];

            //テーブル内の行数、列数、サイズを指定するために使用される 2 つの double 配列、幅と高さを定義する
            double[] widths = new double[] { 100, 150, 150, 100, 100 };
            double[] heights = new double[] { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 };

            //指定された行数と列数とサイズを持つテーブルをスライド上の特定の位置に追加する
            ITable table = slide.Shapes.AppendTable(presentation.SlideSize.Size.Width / 2 - 275, 90, widths, heights);

            //テーブルのデータを 2 次元文字列配列に格納する
            string[,] data = new string[,]{
            {"名前","首都","大陸","面積","人口"},
            {"ベネズエラ","カラカス","南アメリカ","912047","19700000"},
            {"ボリビア","ラパス","南アメリカ","1098575","7300000"},
            {"ブラジル","ブラジリア","南アメリカ","8511196","150400000"},
            {"カナダ","オタワ","北米","9976147","26500000"},
            {"チリ","サンティアゴ","南アメリカ","756943","13200000"},
            {"コロンビア","ボゴタ","南アメリカ","1138907","33000000"},
            {"キューバ","ハバナ","北米","114524","10600000"},
            {"エクアドル","キト","南アメリカ","455502","10600000"},
            {"パラグアイ","アスンシオン","南アメリカ","406576","4660000"},
            {"ペルー","リマ","南アメリカ","1285215","21600000"},
            {"ジャマイカ","キングストン","北米","11424","2500000"},
            {"メキシコ","メキシコシティ","北米","1967180","88600000"}
            };

            //文字列配列をループし、テーブルの各セルにデータを割り当てる
            for (int i = 0; i < 13; i++)
                for (int j = 0; j < 5; j++)
                {
                    //テーブルの各セルにデータを入力する
                    table[j, i].TextFrame.Text = data[i, j];

                    //フォント名とフォントサイズを設定する
                    table[j, i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = new TextFont("Yu Mincho");
                    table[j, i].TextFrame.Paragraphs[0].TextRanges[0].FontHeight = 14;
                }

            //テーブルの最初の行の配置を中央に設定する
            for (int i = 0; i < 5; i++)
            {
                table[i, 0].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center;
            }

            //テーブルにスタイルを適用する
            table.StylePreset = TableStylePreset.MediumStyle2Accent6;

            //プレゼンテーションをファイルに保存する
            presentation.SaveToFile("C:\Users\Administrator\Desktop\InsertTable.pptx", FileFormat.Pptx2013);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションにテーブルを挿入する

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

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

画像は PowerPoint で最も一般的な要素の 1 つです。 場合によっては、特定のスライドまたはプレゼンテーション全体から画像を抽出したい場合があります。 たとえば、それらの画像を別のプレゼンテーションで再利用したいとします。この記事では、Spire.Presentation for .NET を使用して C# で PowerPoint プレゼンテーションから画像を抽出する方法を示します。

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

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

PM> Install-Package Spire.Presentation

C# で PowerPoint から画像を抽出する

PowerPoint 全体から画像を抽出するには、Presentation.Images プロパティを使用してプレゼンテーション内のすべての画像のコレクションを取得します。そして、コレクションを反復処理して ImageCollection[int].Image.Save() メソッドを使用して、各画像を画像ファイルに保存します。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションをロードします。
  • Presentation.Images プロパティでプレゼンテーション内のすべての画像のコレクションを 取得します。
  • コレクションを反復処理し、ImageCollection[int].Image.Save() メソッドを使用して、コレクション内の画像を画像ファイルに保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Collections;
using System.Drawing;

namespace ExtractImagesFromPresentation
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Presentation クラスのインスタンスを初期化する
            Presentation ppt = new Presentation();

            //PowerPoint プレゼンテーションをロードする
            ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.pptx");

            //プレゼンテーションの画像コレクションを取得する
            ImageCollection imageCollection = ppt.Images;

            //コレクション内の画像を反復処理する
            for (int i = 0; i < imageCollection.Count; i++)
            {
                //画像を抽出する 
                imageCollection[i].Image.Save(string.Format(@"C:\Users\Administrator\Desktop\Images\Image{0}.png", i));
            }
            ppt.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションから画像を抽出する

C# で PowerPoint のスライドから画像を抽出する

特定のスライドから画像を抽出するには、スライドのすべての図形を反復処理し、SlidePicture または PictureShape タイプの図形を見つける必要があります。 次に、SlidePicture.PictureFill.Picture.EmbedImage.Image.Save() メソッドまたは PictureShape.EmbedImage.Image.Save() メソッドを使用して、画像を画像ファイルに保存します。 詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションをロードします。
  • Presentation.Slides[int] プロパティを使用して、インデックスで特定のスライドを取得します。
  • スライド上のすべての図形を反復処理します。
  • 図形が SlidePicture または PictureShape タイプかを確認します。結果がtrueの場合は、SlidePicture.PictureFill.Picture.EmbedImage.Image.Save() または PictureShape.EmbedImage.Image.Save() メソッドを使用して画像を画像ファイルに保存します。
  • C#
using Spire.Presentation;

namespace ExtractImagesFromSlide
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Presentation クラスのインスタンスを初期化する
            Presentation ppt = new Presentation();

            //PowerPoint プレゼンテーションをロードする
            ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.pptx");

            //2枚目のスライドを取得する
            ISlide slide = ppt.Slides[1];

            int i = 0;
            //そのスライドのすべての図形を反復処理する
            foreach (IShape s in slide.Shapes)
            {
                //図形が SlidePicture タイプであるかどうかを確認する
                if (s is SlidePicture)
                {
                    //画像を抽出する
                    SlidePicture ps = s as SlidePicture;
                    ps.PictureFill.Picture.EmbedImage.Image.Save(string.Format(@"C:\Users\Administrator\Desktop\Slide\Images{0}.png", i));
                    i++;
                }
                //図形が PictureShape タイプであるかどうかを確認
                if (s is PictureShape)
                {
                    //画像を抽出する
                    PictureShape ps = s as PictureShape;
                    ps.EmbedImage.Image.Save(string.Format(@"Slide\Images{0}.png", i));
                    i++;
                    ppt.Dispose();
                }
            }
        }
    }
}

C#:PowerPoint プレゼンテーションから画像を抽出する

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

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

Spire.PDFViewer 7.12.6のリリースをお知らせいたします。このバージョンでは、マウスをクリックしたときに PDF ページのコンテンツに対応する座標を取得するためのサポートが追加されています。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDFVIEWER-454 マウスをクリックしたときに PDF ページのコンテンツに対応する座標を取得するためのサポートが追加されています。
private void Form1_Load(object sender, EventArgs e)
   {
	  this.pdfDocumentViewer1.LoadFromFile("1.pdf");
	  this.pdfDocumentViewer1.MouseDown += new MouseEventHandler(PV_Click);
	}

	private void PV_Click(object sender, MouseEventArgs e)
	{
		string outputFile = "out.Pdf";
		string outputFile_TXT = "out.txt";
		File.Delete(outputFile_TXT);           
	   if (e.Button == MouseButtons.Left) 
	   {
			PointF[] controlPositions = new PointF[] { e.Location};
			Spire.PdfViewer.Forms.PagePosition[] pagePositions = this.pdfDocumentViewer1.ControlToPage(controlPositions);                
string fileName = this.pdfDocumentViewer1.FileName;
			PdfDocument doc = new PdfDocument();
			doc.LoadFromFile(fileName,FileFormat.PDF);                
PdfPageBase page = doc.Pages[pagePositions[0].PageIndex];
		  
			RectangleF bounds = new RectangleF(pagePositions[0].Position, new SizeF(100, 100));            
			PdfTextExtractor textExtractor = new PdfTextExtractor(page);
			PdfTextExtractOptions option = new PdfTextExtractOptions();
			option.ExtractArea = bounds;
			string text = textExtractor.ExtractText(option);         
			PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 11);
			PdfTextWidget pdfTextbox = new PdfTextWidget();
			pdfTextbox.Font = font;
			pdfTextbox.Brush = PdfBrushes.Red;
			pdfTextbox.Text = "stamp";                
pdfTextbox.Draw(page, bounds);                
doc.Pages[pagePositions[0].PageIndex].Canvas.DrawRectangle(PdfPens.Red, bounds);
			doc.SaveToFile(outputFile);               
File.AppendAllText(outputFile_TXT, "Position: " + pagePositions[0].Position.ToString() + "\ntext:\r\n " + text);                
MessageBox.Show("finish");               
doc.Dispose();
		}
	}
ここで Spire.PDFViewer 7.12.6をダウンロードする

Spire.Office 9.2.0を発表できることを嬉しく思います。このバージョンでは、Spire.XLS は FileFormat 列挙に XLT、XLTX、および XLTM ドキュメント形式を追加し、ヘッダーおよびフッター画像の切り取り位置の設定をサポートします。Spire.Presentation は PPTX へのフォントの埋め込みをサポートします。Spire.PDF では PDF から PDF/A、OFD、画像への変換機能が強化されました。Spire.Docでは Word から PDF および HTML への変換機能が強化されました。さらに、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

このバージョンでは、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 v12.2.1
  • Spire.Pdf.dll v10.2.2
  • Spire.XLS.dll v14.2.1
  • Spire.Presentation.dll v9.2.0
  • Spire.Barcode.dll v7.2.9
  • Spire.Spreadsheet.dll v7.4.6
  • Spire.Email.dll v6.5.10
  • Spire.DocViewer.Forms.dll v8.7.3
  • Spire.PdfViewer.Forms.dll v7.12.3
  • Spire.PdfViewer.Asp.dll v7.12.3
  • Spire.OfficeViewer.Forms.dll v8.7.6
  • Spire.DataExport.dll v4.9.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 9.2.0をダウンロードする:

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

Spire.PDF

カテゴリー ID 説明
Bug SPIREPDF-6328 PDF印刷時に内容が明確に表示されない問題を修正しました。
Bug SPIREPDF-6414 署名を含む PDF ドキュメントを読み取り、新しいドキュメントに保存した後に署名が破損する問題を修正しました。
Bug SPIREPDF-6431 PDF フォームフィールドの値を変更した後に値が 90 度回転する問題を修正しました。
Bug SPIREPDF-6443 .NET Standard プラットフォームで PDF を画像に変換するときにテキストが明確に表示されない問題を修正しました。
Bug SPIREPDF-6278 PdfHTMLTextElement インターフェースを使用して HTML テキストを描画する際の効果が正しくない問題を修正しました。
Bug SPIREPDF-6400 ブックマークを追加した後、ドキュメントを保存する際に「 System.OutOfMemoryException」例外が発生する問題を修正しました。
Bug SPIREPDF-6426 テキストを置換した後に重複コンテンツが表示される問題を修正しました。
Bug SPIREPDF-6430 OFDを PDFに変換する際に 「System.IndexOutOfRangeException」例外が発生する問題を修正しました。
Bug SPIREPDF-6445 テーブルを抽出する際に 「System.Collections.Generic.KeyNotFoundException」例外が発生する問題を修正しました。
Bug SPIREPDF-6471 ページを回転させた後、画像として保存する際に 「System.ArgumentException」例外が発生する問題を修正しました。
Bug SPIREPDF-6473 HTML を PDF に変換する際にカラフルな絵文字が白黒になる問題を修正しました。
Bug SPIREPDF-6477 PDF を画像に変換する際の内容が正しくない問題を修正しました。
Bug SPIREPDF-6480 PDFを印刷する際に「System.NullReferenceException」例外が発生する問題を修正しました。
Bug SPIREPDF-6483 PDF を OFD に変換した後、一部のテキストが太字スタイルでなくなる問題を修正しました。
Bug SPIREPDF-6427
SPIREPDF-6489
テキストの検索と強調表示が機能しない問題を修正しました。
Bug SPIREPDF-6456 PDF文書をPDF/A文書に変換する際、アラブ文字体が失われる問題を修正しました。
Bug SPIREPDF-6493 PDF文書を印刷する時、印鑑の位置がずれてしまう問題を修正しました。
Bug SPIREPDF-6509 双面印刷する場合、正反面の向き設定が無視される問題を修正しました。
Bug SPIREPDF-6510 PDF文書を画像に変換する時、プログラムが「System.NullReferenceException」例外を投げる問題を修正しました。
Bug SPIREPDF-6524 PDF文書をOFD文書に変換してから元のPDF文書に戻すと、フォントが過度に太字になる問題を修正しました。

Spire.Doc

カテゴリー ID 説明
New feature SPIREDOC-9979
SPIREDOC-10058
段落の左右のインデント機能に文字数を設定するオプションをサポートしています。
//文字数に応じて左インデントを設定する 
paragraph.Format.LeftIndentChars = 10; 
//文字数に応じて右インデントを設定する 
paragraph.Format.RightIndentChars = 10;
Bug SPIREDOC-3363 Word ドキュメントを PDF ドキュメントに変換するときにコンテンツ形式が正しくない問題を修正しました。
Bug SPIREDOC-3363
SPIREDOC-10083
Word 文書を PDF 文書に変換するときにフォントが変更される問題を修正しました。
Bug SPIREDOC-9136 Word文書をPDF文書に変換する際に、文書構造タグが失われる問題を修正しました。
Bug SPIREDOC-9718 保存された Docx ドキュメント内の数式コンテンツのフォントが傾いてしまう問題を修正しました。
Bug SPIREDOC-9756 Word文書をHTML文書に変換する際にプログラムがSystem.ArgumentExceptionをスローする問題を修正しました。
Bug SPIREDOC-10001 Word 文書を PDF 文書に変換するときに表の境界線が変更される問題を修正しました。
Bug SPIREDOC-10016 ブックマークの内容を置き換えた後に余分な空白の段落が表示される問題を修正しました。
Bug SPIREDOC-10084 Word 文書を PDF 文書に変換するときにフォントの太字スタイルが失われる問題を修正しました。
Bug SPIREDOC-10110 Doc ドキュメントのロード時にプログラムが System.ArgumentOutOfRangeException をスローする問題を修正しました。
Bug SPIREDOC-10111 Word ドキュメントを PDF ドキュメントに変換するときにコンテンツがインデントされる問題を修正しました。
Bug SPIREDOC-10119 クロス参照フィールドでコードを取得できない問題を修正しました。
Bug SPIREDOC-10132 空のドキュメントでFixedLayoutDocumentオブジェクトを取得するときにプログラムがSystem.ArgumentOutOfRangeExceptionをスローする問題を修正しました。
Bug SPIREDOC-10195 ドキュメントをコピーした後にブックマークのコンテンツを削除するときにプログラムが System.NullReferenceException をスローする問題を修正しました。

Spire.XLS

カテゴリー ID 説明
New feature SPIREXLS-5038 ヘッダー画像とフッター画像の切り取り位置の設定をサポートします。
sheet.PageSetup.LeftHeaderPictureCropTop=6.15;
sheet.PageSetup.LeftHeaderPictureCropBottom=7.15;
sheet.PageSetup.LeftHeaderPictureCropLeft =7.15;
sheet.PageSetup.LeftHeaderPictureCropRight = 6.15;
sheet.PageSetup.LeftFooterPictureCropTop=0.15;
sheet.PageSetup.LeftFooterPictureCropBottom=0.15;
sheet.PageSetup.LeftFooterPictureCropLeft =0.15;
sheet.PageSetup.LeftFooterPictureCropRight =0.15;

sheet.PageSetup.CenterHeaderPictureCropTop=0.15;
sheet,PageSetup.CenterHeaderPictureCropBottom=0.15;
sheet.PageSetup.CenterHeaderPictureCropLeft=0.15;
sheet.PageSetup.CenterHeaderPictureCropRight =0.15;
sheet.PageSetup.CenterFooterPictureCropTop=0.15;
sheet.PageSetup.CenterFooterPictureCropBottom=0.15;
sheet.PageSetup.CenterFooterPictureCropLeft =0.15;
sheet.PageSetup.CenterFooterPictureCropRight=0.15;

sheet.PageSetup.RightHeaderPictureCropTop=0.15;
sheet.PageSetup.RightHeaderPictureCropBottom=0.15;
sheet.PageSetup.RightHeaderPictureCropLeft=0.15;
sheet.PageSetup.RightHeaderPictureCropRight=0.15;
sheet.PageSetup.RightFooterPictureCropTop=0.15;
sheet.PageSetup.RightFooterPictureCropBottom=0.15;
sheet.PageSetup.RightFooterPictureCropLeft=0.15;
New feature SPIREXLS-5006 XLT、XLTX、XLTM 文書形式を FileFormat 列挙に追加しました。
Bug SPIREXLS-5016 Sheet.AutoFilters.Clear()実行時にプログラムが「System.ArgumentOutOfRangeException」をスローする問題を修正しました。
Bug SPIREXLS-5018 XLSX ドキュメントをロードし、変更せずに新しい XLSX ドキュメントに直接保存した後、MS Excel ツールを使用して保存された XLSX ドキュメントを開くと、一部の内容が間違っているというメッセージが表示される問題を修正しました。
Bug SPIREXLS-5022 ワークシートにデータを挿入し、保存したXLSX文書をMS Excelツールで開くと、内容の一部が正しくなくなる問題を修正しました。
Bug SPIREXLS-5023 セルの取得に失敗する問題を修正しました。
Bug SPIREXLS-5025 Excel を PDF に変換した後にページング方式が正しく行われない問題を修正しました。
Bug SPIREXLS-5028 ExcelをCSVに変換すると内容がずれる問題を修正しました。
Bug SPIREXLS-5032 Linux システムで .Net Standard パッケージを使用して Excel を HTML に変換した後、凡例のテキストが文字化けする問題を修正しました。
Bug SPIREXLS-5034 Linux 環境でファイル読み込みプログラムが「No printers are installed」エラーをスローする問題を修正しました。
Bug SPIREXLS-5039 ワークシートを画像に変換するときにピボット テーブル データが正しくない問題を修正しました。
Bug SPIREXLS-5061 Excel を PDF に変換するときにプログラムが「Shape failed to render!」エラーをスローする問題を修正しました。
Bug SPIREXLS-5066 cellRange.ClearContents() メソッドを呼び出した後、結果のドキュメント内のコメントが Office365 に表示されない問題を修正しました。
Bug SPIREXLS-5073 ワークシート名に特殊文字\tが含まれる場合、\tが_x0009_と読み取られる問題を修正しました。
Bug SPIREXLS-5080 XLSXを PDFに変換するときにコンテンツが正しくない問題を修正しました。
Bug SPIREXLS-5083 XLSX をPDFに変換するときにプログラムが System.ArgumentException をスローする問題を修正しました。
Bug SPIREXLS-5084 XLSX を画像に変換するときにテキストコンテンツが重なる問題を修正しました。
Bug SPIREXLS-5090 .NET7.0 プラットフォームで .netstand2.0 DLL を公開するときに発生する「Operation is not supported on this platform」という例外の問題を修正しました。

Spire.Presentation

カテゴリー ID 説明
New feature - PPTX でのフォントの埋め込みをサポート: PPTX へのフォントの埋め込みのみをサポートし、PDF および PowerPoint 2003 形式への埋め込みはサポートしません。中国語名のフォントを埋め込む場合、フォント名は中国語で表示されません。
ppt.AddEmbeddedFont(string fontpath);
New feature SPIREPPT-2424 Ole オブジェクトが非表示かどうかを判断する IsHidden プロパティを提供されています。
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject ole= oles[0];
bool result=ole.IsHidden;
Adjustment - VS2019プロジェクト・フレームワークがバージョン4.6.2にアップグレードされました。
Adjustment - MonoAndroid と Xamarin.iOS が削除されました。
Adjustment - 製品から Spire.Pdf.dll の参照が削除されました。
Adjustment - 「Spire.Pdf.PdfConformanceLevel」は非推奨となり、新しいインターフェース「Spire.Presentation.External.pdf.PdfConformanceLevel」に置き換えられました。
presentation.SaveToPdfOption.PdfConformanceLevel = Spire.Presentation.External.Pdf.PdfConformanceLevel.Pdf_A1A;
Adjustment - 「Spire.Pdf.Sercurity.PdfSecurity」は非推奨となり、新しいインターフェース「Spire.Presentation.External.Pdf.PdfSecurity」に置き換えられました。
Bug SPIREPPT-2418 システムの地域言語がトルコ語に設定されているときに PPTX ドキュメントをロードすると、プログラムが「Microsoft PowerPoint 2007 file is corrpt.」をスローする問題が修正されました。
Bug SPIREPPT-2396 グラフのラベルの位置を変更した後の効果が正しくなくなる問題が修正されました。

Spire.Doc for C++ 12.2.0を発表できることを嬉しく思います。このバージョンでは、Linux システムで文字列が欠落している問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug - Linux システムで文字列が欠落している問題が修正されました。
ここで Spire.Doc for C++ 12.2.0をダウンロードする

Spire.XLS 14.2.1のリリースをお知らせできることをうれしく思います。このバージョンでは、ヘッダー画像とフッター画像の切り取り位置の設定に対応しました。 また、XLSXからPDFへの変換機能も強化されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-5038 ヘッダー画像とフッター画像の切り取り位置の設定をサポートします。
sheet.PageSetup.LeftHeaderPictureCropTop=6.15;
sheet.PageSetup.LeftHeaderPictureCropBottom=7.15;
sheet.PageSetup.LeftHeaderPictureCropLeft =7.15;
sheet.PageSetup.LeftHeaderPictureCropRight = 6.15;
sheet.PageSetup.LeftFooterPictureCropTop=0.15;
sheet.PageSetup.LeftFooterPictureCropBottom=0.15;
sheet.PageSetup.LeftFooterPictureCropLeft =0.15;
sheet.PageSetup.LeftFooterPictureCropRight =0.15;

sheet.PageSetup.CenterHeaderPictureCropTop=0.15;
sheet,PageSetup.CenterHeaderPictureCropBottom=0.15;
sheet.PageSetup.CenterHeaderPictureCropLeft=0.15;
sheet.PageSetup.CenterHeaderPictureCropRight =0.15;
sheet.PageSetup.CenterFooterPictureCropTop=0.15;
sheet.PageSetup.CenterFooterPictureCropBottom=0.15;
sheet.PageSetup.CenterFooterPictureCropLeft =0.15;
sheet.PageSetup.CenterFooterPictureCropRight=0.15;

sheet.PageSetup.RightHeaderPictureCropTop=0.15;
sheet.PageSetup.RightHeaderPictureCropBottom=0.15;
sheet.PageSetup.RightHeaderPictureCropLeft=0.15;
sheet.PageSetup.RightHeaderPictureCropRight=0.15;
sheet.PageSetup.RightFooterPictureCropTop=0.15;
sheet.PageSetup.RightFooterPictureCropBottom=0.15;
sheet.PageSetup.RightFooterPictureCropLeft=0.15;
Bug SPIREXLS-5066 cellRange.ClearContents() メソッドを呼び出した後、結果のドキュメント内のコメントが Office365 に表示されない問題を修正しました。
Bug SPIREXLS-5073 ワークシート名に特殊文字\tが含まれる場合、\tが_x0009_と読み取られる問題を修正しました。
Bug SPIREXLS-5080 XLSXを PDFに変換するときにコンテンツが正しくない問題を修正しました。
Bug SPIREXLS-5083 XLSX をPDFに変換するときにプログラムが System.ArgumentException をスローする問題を修正しました。
Bug SPIREXLS-5084 XLSX を画像に変換するときにテキストコンテンツが重なる問題を修正しました。
Bug SPIREXLS-5090 .NET7.0 プラットフォームで .netstand2.0 DLL を公開するときに発生する「Operation is not supported on this platform」という例外の問題を修正しました。
ここで Spire.XLS 14.2.1をダウンロードする

Spire.Presentation for Java 9.2.2を発表できることをうれしく思います。このバージョンでは、色の透明度と明るさを取得および設定するための新しいメソッドが追加されています。 PPTからPDFへの変換機能も強化されました。さらに、取得したテキストの配置が正しくないなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2419 色の透明度を取得および設定するための getTransparency() および setTransparency(value) メソッドと、色の明るさを取得および設定するための getBrightness() および setBrightness(value) メソッドが追加されました。
Bug SPIREPPT-2392 PPT を PDF に変換するときにグラフが正しくない問題を修正しました。
Bug SPIREPPT-2413 取得したテキストの配置が正しくない問題を修正しました。
Bug SPIREPPT-2429 htmlのcolor:rgb(0, 0, 0)の解析に失敗する問題を修正しました。
Bug SPIREPPT-2430 PPTをPDFに変換すると座標軸の値が変わる問題を修正しました。
ここで Spire. Presentation for Java 9.2.2をダウンロードする