チュートリアル

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

Koohji

Koohji

画像ファイルは、人々の日常生活で最もよく使われるドキュメントの一形態です。時折、特定のフォルダ内の全ての画像ファイルを取り出し、PowerPoint プレゼンテーション用のスライドに変換する必要が生じます。お客様の要件に応じて、画像をシェイプやスライドの背景に変換することが可能です。この記事では、Spire.Presentation for Java を使用して画像を PowerPoint ドキュメントに変換する方法を示します。

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

まず、Spire.Presentation 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.presentation</artifactId>
        <version>8.9.4</version>
    </dependency>
</dependencies>

画像を PowerPoint の背景に変換する

PowerPoint の各スライドの背景として画像が変換される場合、それらは移動や拡大縮小ができません。以下は、Spire.Presentation for Java を使用して、画像を PowerPoint ファイルに背景画像として変換する手順です。

  • Presentation オブジェクトを作成します。
  • スライドのサイズの種類を Sreen16x9 に設定します。
  • フォルダーから画像の パスを取得します。
  • 画像をループします。
  • Presentation.getImages().append() メソッドを使用して、特定の画像を取得し、ドキュメントの画像コレクションに追加します。
  • Presentation.getSlides().append() メソッドを使用して、ドキュメントにスライドを追加します。
  • SlideBackground オブジェクトの下にあるメソッドを使用して、画像をスライドの背景として設定します。
  • Presentation.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

public class ConvertImagesAsBackground {

    public static void main(String[] args) throws Exception {

        //Presentationオブジェクトを作成する
        Presentation presentation = new Presentation();

        //スライドのサイズの種類を設定する
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //デフォルトのスライドを削除する
        presentation.getSlides().removeAt(0);

        //フォルダーから画像ファイルを取得する
        File directoryPath = new File("C:\\Users\\Administrator\\Desktop\\Images");
        File[] picFiles  = directoryPath.listFiles();

        //画像をループする
        for (int i = 0; i < picFiles.length; i++)
        {
            //スライドを追加する
            ISlide slide = presentation.getSlides().append();

            //特定の画像を取得する
            String imageFile = picFiles[i].getAbsolutePath();

            //画像コレクションに追加する
            BufferedImage bufferedImage =  ImageIO.read(new FileInputStream(imageFile));
            IImageData imageData = presentation.getImages().append(bufferedImage);

            //画像をスライドの背景画像として設定する
            slide.getSlideBackground().setType(BackgroundType.CUSTOM);
            slide.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
            slide.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
            slide.getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(imageData);
        }

        //結果文書を保存する
        presentation.saveToFile("ImagesToBackground.pptx", FileFormat.PPTX_2013);
    }
}

Java:画像(PNG、JPG、BMP など)を PowerPoint に変換する方法

画像を PowerPoint の図形に変換する

PowerPoint ファイルで画像を移動可能かつサイズ変更可能にしたい場合は、それらを図形として変換することができます。以下は、Spire.Presentation for Java を使用して PowerPoint 文書内の画像を図形に変換する手順です。

  • Presentation オブジェクトを作成します。
  • スライドのサイズの種類を Sreen16x9 に設定します。
  • フォルダーから画像のパスを取得します。
  • 画像をループします。
  • Presentation.getImages().append() メソッドを使用して、特定の画像を取得し、ドキュメントの画像コレクションに追加します。
  • Presentation.getSlides().append() メソッドを使用して、ドキュメントにスライドを追加します。
  • ISlide.getShapes().appendShape() メソッドを使用して、スライドと同じサイズの図形を追加します。
  • FillFormat オブジェクトの下にあるメソッドを使用して、図形を画像で塗りつぶします。
  • Presentation.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

public class ConvertImageToShape {

    public static void main(String[] args) throws Exception {

        //Presentationオブジェクトを作成する
        Presentation presentation = new Presentation();

        //スライドのサイズの種類を設定する
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //デフォルトのスライドを削除する
        presentation.getSlides().removeAt(0);

        //フォルダーから画像ファイルを取得する
        File directoryPath = new File("C:\\Users\\Administrator\\Desktop\\Images");
        File[] picFiles  = directoryPath.listFiles();

        //画像をループする
        for (int i = 0; i < picFiles.length; i++)
        {
            //スライドを追加する
            ISlide slide = presentation.getSlides().append();

            //特定の画像を取得する
            String imageFile = picFiles[i].getAbsolutePath();

            //画像コレクションに追加する
            BufferedImage bufferedImage =  ImageIO.read(new FileInputStream(imageFile));
            IImageData imageData = presentation.getImages().append(bufferedImage);

            //スライドと同じサイズの図形を追加する
            IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Float(0, 0, (float) presentation.getSlideSize().getSize().getWidth(), (float)presentation.getSlideSize().getSize().getHeight()));

            //図形を画像で塗りつぶす
            shape.getLine().setFillType(FillFormatType.NONE);
            shape.getFill().setFillType(FillFormatType.PICTURE);
            shape.getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
            shape.getFill().getPictureFill().getPicture().setEmbedImage(imageData);
        }

        //結果文書を保存する
        presentation.saveToFile("ImagesToShape.pptx", FileFormat.PPTX_2013);
    }
}

Java:画像(PNG、JPG、BMP など)を PowerPoint に変換する方法

画像をカスタマスライドサイズの PowerPoint に変換する

もし画像のアスペクト比が 16:9 ではない場合や、標準のスライドサイズでない場合は、画像の実際のサイズに基づいてスライドを作成することができます。これにより、画像が過度に伸びたり圧縮されたりするのを防ぐことができます。以下は、Spire.Presentation for Java を使用してカスタマイズされたスライドサイズで PowerPoint 文書に画像を変換する手順です。

  • Presentation オブジェクトを作成します。
  • PdfUnitConvertor オブジェクトを作成し、ピクセルをポイントに変換するために使用します。
  • フォルダから画像のパスを取得します。
  • 画像をループします。
  • Presentation.getImages().append() メソッドを使用して、特定の画像を取得し、ドキュメントの画像コレクションに追加します。
  • 画像の幅と高さを取得し、ポイントに変換します。
  • Presentation.getSlideSize().setSize() メソッドを使用して、スライドサイズを画像のサイズに基づいて設定します。
  • Presentation.getSlides().append() メソッドを使用して、ドキュメントにスライドを追加します。
  • SlideBackground オブジェクトの下にあるメソッドを使用して、画像をスライドの背景画像として設定します。
  • Presentation.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.pdf.graphics.PdfGraphicsUnit;
import com.spire.pdf.graphics.PdfUnitConvertor;
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

public class CustomizeSlideSize {

    public static void main(String[] args) throws Exception {

        //Presentationオブジェクトを作成する
        Presentation presentation = new Presentation();

        //デフォルトのスライドを削除する
        presentation.getSlides().removeAt(0);

        //フォルダーから画像ファイルを取得する
        File directoryPath = new File("C:\\Users\\Administrator\\Desktop\\Images");
        File[] picFiles  = directoryPath.listFiles();

        //PdfUnitConvertor オブジェクトを作成する
        PdfUnitConvertor convertor = new PdfUnitConvertor();

        //画像をループする
        for (int i = 0; i < picFiles.length; i++)
        {
            //特定の画像を取得する
            String imageFile = picFiles[i].getAbsolutePath();

            //画像コレクションに追加する
            BufferedImage bufferedImage =  ImageIO.read(new FileInputStream(imageFile));
            IImageData imageData = presentation.getImages().append(bufferedImage);

            //画像の高さと幅をピクセル単位で取得する
            int height = imageData.getHeight();
            int width = imageData.getWidth();

            //ピクセルをポイントに変換する
            float widthPoint = convertor.convertUnits(width, PdfGraphicsUnit.Pixel, PdfGraphicsUnit.Point);
            float heightPoint= convertor.convertUnits(height, PdfGraphicsUnit.Pixel, PdfGraphicsUnit.Point);

            //スライドのサイズを設定する
            presentation.getSlideSize().setSize(new Dimension((int)widthPoint, (int)heightPoint));

            //スライドを追加する
            ISlide slide = presentation.getSlides().append();

            //画像をスライドの背景画像として設定する
            slide.getSlideBackground().setType(BackgroundType.CUSTOM);
            slide.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
            slide.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
            slide.getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(imageData);
        }

        //結果文書を保存する
        presentation.saveToFile("CustomizeSlideSize.pptx", FileFormat.PPTX_2013);
    }
}

Java:画像(PNG、JPG、BMP など)を PowerPoint に変換する方法

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

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

Spire.Doc for Java 11.10.3のリリースを発表できることを嬉しく思います。このバージョンでは、AppendHorizonalLine() メソッドをJavaに同期させました。非フローレイアウトのドキュメントに変換する際に、文字の描画がサポートされていないフォントを FontFallbackRule メソッドの XML で切り替えることもサポートしています。さらに、WordからPDF、HTML、OFDへの変換機能も強化されました。また、画像のズームサイズの設定結果が正しくないという問題など、いくつかの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 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.Doc for Java 11.10.3をダウンロードする

他人と Excel ファイルを共有したいが、基礎の数式にアクセス権を与えたくない場合、数式を数値に変換することは良い選択です。これにより、受信者は元の式を変更せずに計算結果を表示または使用することができます。この記事では、Spire.XLS for .NET を使用して Excel で数式を削除し、値を保持する方法について説明します。

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

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

PM> Install-Package Spire.XLS

Excel で数式を削除し、値を保持する

MS Excel には、数式を削除しながら値を保持するための「値の貼り付け」機能があります。同じ機能を C# のコードで実装するには、以下の手順を参照してください。

  • Workbook のインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、サンプルの Excel ファイルを読み込みます。
  • ファイル内のワークシートをループし、各シート内のセルをループします。
  • CellRange.HasFormula プロパティを使用して、セルに数式が含まれているかどうかを判断します。
  • もし含まれている場合は、CellRange.FormulaValue プロパティを使用して数式の値を取得します。その後、セル内の元の数式をクリアし、CellRange.Value2 プロパティを使用してその値で埋めます。
  • Workbook.SaveToFile() メソッドを使用して、結果のファイルを保存します。
  • C#
using Spire.Xls;
using System;
namespace RemoveFormulas
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookのインスタンスを作成する
            Workbook workbook = new Workbook();

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

            //ファイル内のワークシートをループする
            foreach (Worksheet sheet in workbook.Worksheets)
            {
                //各シート内のセルをループする
                foreach (CellRange cell in sheet.Range)
                {
                    //セルに数式が含まれているかどうかを判断する
                    if (cell.HasFormula)
                    {
                        //もし含まれている場合は、数式の値を取得する
                        Object value = cell.FormulaValue;

                        //セル内の元の数式をクリアする
                        cell.Clear(ExcelClearOptions.ClearContent);

                        //セルに数式の値を入力する
                        cell.Value2 = value;
                    }
                }
            }

            //結果のファイルを保存する
            workbook.SaveToFile("DeleteFormula.xlsx", ExcelVersion.Version2016);
        }
    }
}

C#:Excel で数式を削除し、値を保持する方法

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

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

Spire.Doc 11.10.7のリリースをお知らせいたします。このバージョンでは、WordをPDFに変換する際にタイ語の文字が整列や改行されない問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREDOC-9831 そのバージョンでは、WordをPDFに変換する際にタイ語の文字が整列や改行されない問題が修正されました。
ここで Spire.Doc 11.10.7をダウンロードする

Spire.PDF for Java 9.10.3のリリースを発表できることをうれしく思います。このバージョンでは、AES暗号化アルゴリズムの設定と既存のフィールド名のリセットがサポートされています。さらに、PDFからSVG/PPTX/PDFA2Bへの変換機能やOFDからPDFへの変換機能も強化されました。また、PDFドキュメントを読み込む際に「NullPointerException」エラーが発生するなど、既知問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 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.PDF for Java 9.10.3をダウンロードする

Spire.Presentation 8.10.2のリリースをお知らせいたします。このバージョンでは、形状内のテキストの位置情報を取得する機能が追加されました。また、形状中のテキストの "Ascent" および "Descent" 属性を取得し、形状をSVG形式に変換する機能もサポートされています。さらに、PPTをSVGに変換した後、ブラウザでSVGファイルを開いたときに空白になっていた問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 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ファイルを開いたときに空白になっていた問題が修正されました。
ここで Spire. Presentation 8.10.2をダウンロードする

Microsoft PowerPoint の置換機能を使用すると、特定のテキストを検索し、一度に新しいテキストに変更することができます。これは、大きな PowerPoint ドキュメント内の複数の場所で同じエラーを修正する必要がある場合に非常に便利です。この記事では、Spire.Presentation for .NET を使用して PowerPoint でテキストを置換する方法を示します。

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

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

PM> Install-Package Spire.Presentation

PowerPoint で特定のテキストの最初の出現箇所を置換する

PowerPoint 内の特定のテキストの最初の出現箇所を置換するには、すべてのスライドをループし、ISlide.ReplaceFirstText() メソッドを呼び出します。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • PowerPoint ドキュメント内のすべてのスライドをループします。
  • ISlide.ReplaceFirstText() メソッドを使用して、最初に出現する「Spire.Presentation for .NET」を「E-iceblue 製品」に置き換えます。
  • Presentation.SaveToFile() メソッドを使用して結果文書を保存します。
  • C#
  • VB.NET
using Spire.Presentation;

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

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

            //すべてのスライドをループする
            foreach (ISlide slide in ppt.Slides)
            {
                //最初に出現する「Spire.Presentation for .NET」を「E-iceblue製品」に置き換える
                slide.ReplaceFirstText("Spire.Presentation for .NET", "E-iceblue製品", false);
                break;
            }

            //結果文書を保存する
            ppt.SaveToFile("ReplaceFirstTextOccurrence.pptx", FileFormat.Pptx2013);
        }
    }
}
Imports Spire.Presentation

Namespace ReplaceFirstTextOccurrenceInPPT
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())

            'Presentationインスタンスを作成する
            Dim ppt As Presentation = New Presentation()

            'PowerPointドキュメントをロードする
            ppt.LoadFromFile("Sample1.pptx")

            'すべてのスライドをループする
            For Each slide As ISlide In ppt.Slides

                '最初に出現する「Spire.Presentation for .NET」を「E-iceblue製品」に置き換える
                slide.ReplaceFirstText("Spire.Presentation for .NET", "E-iceblue製品", False)
                Exit For
            Next

            '結果文書を保存する
            ppt.SaveToFile("ReplaceFirstTextOccurrence.pptx", FileFormat.Pptx2013)

        End Sub
    End Class
End Namespace

C#/VB.NET:PowerPoint 内のテキストを置換する方法

PowerPoint で特定のテキストのすべての出現箇所を置換する

PowerPoint 内の特定のテキストのすべての出現箇所を置換するには、すべてのスライドをループし、ISlide.ReplaceAllText() メソッドを使用します。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • PowerPoint 内のすべてのスライドをループします。
  • ISlide.ReplaceAllText() メソッドを使用して、すべての「Spire.Presentation for.NET」を「E-icelue 製品」に置き換えます。
  • Presentation.SaveToFile() メソッドを使用して結果文書を保存します。
  • C#
  • VB.NET
using Spire.Presentation;

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

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

            //すべてのスライドをループする
            foreach (ISlide slide in ppt.Slides)
            {
                //すべての「Spire.Presentation for.NET」を「E-icelue製品」に置き換える
                slide.ReplaceAllText("Spire.Presentation for .NET", "E-iceblue製品", false);
            }
            //結果文書を保存する
            ppt.SaveToFile("ReplaceAllTextOccurrences.pptx", FileFormat.Pptx2013);

        }
    }
}
Imports Spire.Presentation

Namespace ReplaceAllTextOccurrencesInPPT
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())

            'Presentationインスタンスを作成する
            Dim ppt As Presentation = New Presentation()

            'PowerPointドキュメントをロードする
            ppt.LoadFromFile("Sample1.pptx")

            'すべてのスライドをループする
            For Each slide As ISlide In ppt.Slides

                'すべての「Spire.Presentation for.NET」を「E-icelue製品」に置き換える
                slide.ReplaceAllText("Spire.Presentation for .NET", "E-iceblue製品", False)
            Next

            '結果文書を保存する
            ppt.SaveToFile("ReplaceAllTextOccurrences.pptx", FileFormat.Pptx2013)

        End Sub
    End Class
End Namespace

C#/VB.NET:PowerPoint 内のテキストを置換する方法

PowerPoint で正規表現を使用してテキストを置換する

Spire.Presentation for .NET では、正規表現パターンに一致するテキストを置換するための IShape.ReplaceTextWithRegex() メソッドが提供されています。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • PowerPoint 内のすべてのスライドをループします。
  • 各スライドのすべての図形をループします。
  • IShape.ReplaceTextWithRegex() メソッドを使用して、正規表現パターンに一致するテキストを置き換えます。
  • Presentation.SaveToFile() メソッドを使用して結果文書を保存します。
  • C#
  • VB.NET
using Spire.Presentation;
using System.Text.RegularExpressions;

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

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

            //すべてのスライドをループする
            foreach (ISlide slide in ppt.Slides)
            {
                //各スライドのすべての図形をループする
                foreach (IShape shape in slide.Shapes)
                {
                    //スライド上の # で始まるテキストを「Spire.Presentation for .NET」に置き換えます。
                    shape.ReplaceTextWithRegex(new Regex(@"\#\w+\b"), " Spire.Presentation for .NET ");
                }
            }
            //結果文書を保存する
            ppt.SaveToFile("ReplaceTextUsingRegex.pptx", FileFormat.Pptx2013);
        }
    }
}
Imports Spire.Presentation
Imports System.Text.RegularExpressions

Namespace ReplaceTextUsingRegexInPPT
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())

            'Presentationインスタンスを作成する
            Dim ppt As Presentation = New Presentation()

            'PowerPointドキュメントをロードする
            ppt.LoadFromFile("Sample2.pptx")

            'すべてのスライドをループする
            For Each slide As ISlide In ppt.Slides

                '各スライドのすべての図形をループする
                For Each shape As IShape In slide.Shapes

                    'スライド上の # で始まるテキストを「Spire.Presentation for .NET」に置き換える
                    shape.ReplaceTextWithRegex(New Regex("\#\w+\b"), " Spire.Presentation for .NET ")
                Next
            Next

            '結果文書を保存する
            ppt.SaveToFile("ReplaceTextUsingRegex.pptx", FileFormat.Pptx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:PowerPoint 内のテキストを置換する方法

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

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

Spire.XLS 13.10.1のリリースをお知らせできることをうれしく思います。このバージョンでは、ExcelからPDFへの変換効率が向上されました。ピボットテーブルのフィールド名をカスタマイズする機能もサポートされています。さらに、ExcelからHTMLへの変換機能も強化されました。また、文書から削除されたコメントが削除されないなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 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.XLS 13.10.1をダウンロードする

PowerPoint プレゼンテーションを作成または編集する際、時折、特定の重要な内容を強調して観客の注意を引きたいと思うことがあります。そのためには、特定のテキストを目立つ色で強調表示するという方法が効果的です。この記事では、Spire.Presentation for .NET を使用して PowerPoint プレゼンテーションでテキストをハイライトする方法を示します。

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

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

PM> Install-Package Spire.Presentation

PowerPoint でテキストをハイライトする

Spire.Presentation for .NET が提供する IAutoShape.TextFrame.HighLightText() メソッドは、PowerPoint で指定されたテキストのハイライトをサポートします。以下に詳細な操作手順を示します。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
  • プレゼンテーション内のスライドと形状をループします。
  • 現在の形状が IAutoShape 型であるかどうかを確認します。
  • 結果が true の場合は、形状を IAutoShape にキャストします。
  • TextHighLightingOptions クラスのインスタンスを初期化します。
  • TextHighLightingOptions.WholeWordsOnlyTextHighLightingOptions.CaseSensitive のプロパティを使用して、単語全体のみや大文字小文字の区別など、テキストのハイライトオプションを設定します。
  • IAutoShape.TextFrame.HighLightText() メソッドを使用して、形状内の特定のテキストをハイライトします。
  • Presentation.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Presentation;
using System.Drawing;

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

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

            //すべてのスライドをループする
            for (int i = 0; i < presentation.Slides.Count; i++)
            {
                //現在のスライドを取得する
                ISlide slide = presentation.Slides[i];

                //スライドの形状をループする
                for (int j = 0; j < slide.Shapes.Count; j++)
                {
                    //現在の形状が IAutoShape タイプであるかどうかを確認する
                    if (slide.Shapes[j] is IAutoShape)
                    {
                        //形状をIAutoShapeに型キャストする
                        IAutoShape shape = slide.Shapes[j] as IAutoShape;

                        //TextHighLightingOptionsクラスのインスタンスを作成する
                        TextHighLightingOptions options = new TextHighLightingOptions();

                        //テキストのハイライトオプションを設定する
                        options.CaseSensitive = true;
                        options.WholeWordsOnly = true;

                        //形状内の特定のテキストをハイライトする
                        shape.TextFrame.HighLightText("Spire.Presentation for .NET", Color.LightYellow, options);
                    }
                }
            }
            //結果ファイルを保存する
            presentation.SaveToFile("HighlightText.pptx", FileFormat.Pptx2013);
        }
    }
}
Imports Spire.Presentation
Imports System.Drawing

Namespace HighlightTextInPPT
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())

            'Presentationクラスのインスタンスを作成する
            Dim presentation As Presentation = New Presentation()

            'PowerPointプレゼンテーションをロードする
            presentation.LoadFromFile("Sample.pptx")

            'すべてのスライドをループする
            For i As Integer = 0 To presentation.Slides.Count – 1

                '現在のスライドを取得する
                Dim slide As ISlide = presentation.Slides(i)

                'スライドの形状をループする
                For j As Integer = 0 To slide.Shapes.Count – 1

                    '現在の形状が IAutoShape タイプであるかどうかを確認する
                    If TypeOf slide.Shapes(j) Is IAutoShape Then

                        '形状をIAutoShapeに型キャストする
                        Dim shape As IAutoShape = TryCast(slide.Shapes(j), IAutoShape)

                        'TextHighLightingOptionsクラスのインスタンスを作成する
                        Dim options As TextHighLightingOptions = New TextHighLightingOptions()

                        'テキストのハイライトオプションを設定する
                        options.CaseSensitive = True
                        options.WholeWordsOnly = True

                        '形状内の特定のテキストをハイライトする
                        shape.TextFrame.HighLightText("Spire.Presentation for .NET", Color.LightYellow, options)
                    End If
                Next
            Next

            '結果ファイルを保存する
            presentation.SaveToFile("HighlightText.pptx", FileFormat.Pptx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:PowerPoint 内のテキストをハイライトする方法

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

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

Spire.Doc 11.10.3のリリースを発表できることを嬉しく思います。このバージョンでは、WordをPDFに変換する際のテキストの書式設定機能が追加され、.NET 4.6.2以上、.NET Core、および.NET Standardプラットフォームに対応しています。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 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)
ここで Spire.Doc 11.10.3をダウンロードする