チュートリアル

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

Koohji

Koohji

Spire.XLS 13.8.0のリリースをお知らせできることをうれしく思います。このバージョンでは、DIN A0の用紙サイズの設定やグレースケールの印刷がサポートされています。XLSXからHTMLへの変換処理時間とメモリ使用量が最適化されています。さらに、ExcelからPDFや画像への変換機能も強化されました。また、多くの既知の問題もこのリリースで修正されました。たとえば、フォントの置き換えに失敗した問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-288 DIN A0の用紙サイズの設定がサポートされています。
sheet.PageSetup.PaperSize    = PaperSizeType.PaperA0; 
New feature SPIREXLS-4725 グレースケールの印刷がサポートされています。
workbook.ConverterSetting.GrayLevelForPrint = true; 
New feature SPIREXLS-4778 XLSXからHTMLへの変換処理時間とメモリ使用量が最適化されています。
Bug SPIREXLS-722 Excelを画像に変換した後、グラフが失われていた問題が修正されました。
Bug SPIREXLS-4012 形状を画像に変換した後、内容が正しくない問題が修正されました。
Bug SPIREXLS-4749 デジタル署名を行う際に、アプリケーションが「System.Security.Cryptography.CryptographicException: 'Invalid algorithm specified'」をスローする問題が修正されました。
Bug SPIREXLS-4768 フォントの置き換えに失敗する問題が修正されました。
Bug SPIREXLS-4772 形状内のテキストを変更した後、スタイルが変わってしまう問題が修正されました。
Bug SPIREXLS-4773 複数のセルに数字形式を設定した後、セルの枠線が変更される問題が修正されました。
Bug SPIREXLS-4785 ExcelをPDFに変換した後、週数の計算が正しくない問題が修正されました。
Bug SPIREXLS-4787 形状を削除した後、PrstGeomShapesコレクションが更新されない問題が修正されました。
Bug SPIREXLS-4788 ExcelをPDFに変換した後、余分な上枠線が表示される問題が修正されました。
Bug SPIREXLS-4793 セルの条件付き書式を取得できない問題が修正されました。
Bug SPIREXLS-4795 ExcelをPDFに変換した後、内容が一致しない問題が修正されました。
ここで Spire.XLS 13.8.0をダウンロードする

Spire.Doc 11.7.25のリリースを発表できることを嬉しく思います。このバージョンでは、WordからPDFへの、HTMLからWordへの変換機能が強化されました。さらに、目次のページ番号が更新されない問題など、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREDOC-7603 WordをPDFに変換した後、ヘッダーの改行問題が修正されました。
Bug SPIREDOC-9190 WordをPDFに変換した後、ハイパーリンクが機能しない問題が修正されました。
Bug SPIREDOC-9422 WordをPDFに変換した後、コンテンツのレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-9471 目次のページ番号が更新されない問題が修正されました。
Bug SPIREDOC-9463 フィールド値の末尾に余分な「\r」が表示される問題が修正されました。
Bug SPIREDOC-9495 差し込みフィールドの値の更新が正しくない問題が修正されました。
Bug SPIREDOC-9515 HTMLをWordに変換した後、数式の表示が正しくない問題が修正されました。
Bug SPIREDOC-9524 ロードした文書を別名で保存した後、内容が失われる問題が修正されました。
Bug SPIREDOC-9558 Latexの数式を追加した後、不等号の解析が正しくない問題が修正されました。
Bug SPIREDOC-9563 Latexの数式を追加した後、平行記号の解析が正しくない問題が修正されました。
Bug SPIREDOC-9564 Latexの数式を追加した後、ベクトル記号の位置が正しくない問題が修正されました。
ここで Spire.Doc 11.7.25をダウンロードする

PowerPoint プレゼンテーションの背景は、プレゼンテーションの基調や雰囲気を設定し、スライドの美的センスや効果を大きく向上させることができます。PowerPoint プレゼンテーションには、単色背景、グラデーション背景、画像背景、テクスチャ背景、パターン背景の5種類の背景があり、それぞれ異なる使用シナリオに適用されます。例えば、プロのビジネスプレゼンテーションでは、クリーンでシンプルな単色背景が有効であり、クリエイティブなプレゼンテーションでは、魅力的で興味深い画像背景を使用して、観客の注意を引きつけることができます。この記事では、Spire.Presentation for Java を使って、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.7.3</version>
    </dependency>
</dependencies>

PowerPoint スライドに単色背景を設定する

カスタムスライド背景を設定する前に、SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、カスタム背景の設定を許可する必要があります。次に、SlideBackground.getFill().setFillType(FillFormatType.SOLID) メソッドを使用して、背景の種類を単色背景に設定し、FileFormat.getSolidColor().setColor() メソッドを使用して、背景色を設定します。

具体的な操作手順は以下の通りです。

  • Presentation クラスのオブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用して、プレゼンテーションを読み込みます。
  • Presentation.getSlides().get() メソッドを使用して、最初のスライドを取得します。
  • ISlide.getSlideBackground() メソッドを使用して、スライドの背景を取得します。
  • SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、背景のタイプをカスタム背景に設定し、背景のカスタマイズを有効にします。
  • SlideBackground.getFill().setFillType(FillFormatType.SOLID) メソッドを使用して、背景の塗りつぶしタイプを単色に設定します。
  • FileFormat.getSolidColor().setColor() メソッドを使用して、背景色を設定します。
  • Presentation.saveToFile() メソッドを使用して、プレゼンテーションを保存します。
  • Java
import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.SlideBackground;
import com.spire.presentation.drawing.BackgroundType;
import com.spire.presentation.drawing.FillFormat;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.*;

public class SolidColor {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのオブジェクトを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("サンプル.pptx");

        //最初のスライドを取得する
        ISlide slide = ppt.getSlides().get(0);

        //スライドの背景を取得する
        SlideBackground background = slide.getSlideBackground();

        //背景タイプをカスタムに設定する
        background.setType(BackgroundType.CUSTOM);

        //背景の塗りつぶしタイプを単色に設定する
        background.getFill().setFillType(FillFormatType.SOLID);

        //背景色を設定する
        FillFormat fillFormat = background.getFill();
        fillFormat.getSolidColor().setColor(new Color(199, 213, 237));

        //プレゼンテーションを保存する
        ppt.saveToFile("単色背景.pptx", FileFormat.AUTO);
    }
}

Java:PowerPoint で背景を設定する方法

PowerPoint スライドにグラデーション背景を設定する

グラデーション背景は、背景タイプをグラデーション背景に設定し、グラデーションの種類、ストップポイント、色、および角度を設定することで設定できます。具体的な手順は以下の通りです。

  • Presentation クラスのオブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用してプレゼンテーションをロードします。
  • Presentation.getSlides().get() メソッドを使用して最初のスライドを取得します。
  • ISlide.getSlideBackground() メソッドを使用してスライドの背景を取得します。
  • SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、背景タイプをカスタムに設定し、背景をカスタマイズできるようにします。
  • SlideBackground.getFill().setFillType(FillFormatType.GRADIENT) メソッドを使用して、背景の塗りつぶしタイプをグラデーションに設定します。
  • GradientFillFormat.setGradientShape(GradientShapeType.LINEAR) メソッドを使用して、グラデーションの種類を線形グラデーションに設定します。
  • GradientFillFormat.getGradientStops().append() メソッドを使用して、グラデーションストップポイントを追加し、グラデーションの色を設定します。
  • GradientFillFormat.getLinearGradientFill().setAngle() メソッドを使用して、線形グラデーションの角度を設定します。
  • Presentation.saveToFile() メソッドを使用してプレゼンテーションを保存します。
  • Java
import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.SlideBackground;
import com.spire.presentation.drawing.*;

import java.awt.*;

public class Gradient {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのオブジェクトを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("サンプル.pptx");

        //最初のスライドを取得する
        ISlide slide = ppt.getSlides().get(0);

        //スライドの背景を取得する
        SlideBackground background = slide.getSlideBackground();

        //背景タイプをカスタムに設定する
        background.setType(BackgroundType.CUSTOM);

        //背景の塗りつぶしタイプをグラデーションに設定する
        background.getFill().setFillType(FillFormatType.GRADIENT);

        //グラデーションの種類を線形グラデーションに設定する
        GradientFillFormat gradient = background.getFill().getGradient();
        gradient.setGradientShape(GradientShapeType.LINEAR);

        //グラデーションのストップを追加し、色を設定する
        gradient.getGradientStops().append(0f, new Color(230, 255, 255));
        gradient.getGradientStops().append(0.5f, new Color(255, 255, 255));
        gradient.getGradientStops().append(1f, new Color(199, 213, 237));

        //グラデーションの角度を設定する
        gradient.getLinearGradientFill().setAngle(90);

        //プレゼンテーションを保存する
        ppt.saveToFile("グラデーション背景.pptx", FileFormat.AUTO);
    }
}

Java:PowerPoint で背景を設定する方法

PowerPoint スライドに画像背景を設定する

スライドの背景に画像を設定する場合、背景の種類を画像に設定し、次に画像の塗りつぶしタイプをストレッチ塗りつぶしに設定し、最後に背景画像を設定する必要があります。具体的な手順は以下の通りです。

  • Presentation クラスのオブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用してプレゼンテーションを読み込みます。
  • Presentation.getImages().append() メソッドを使用して画像を読み込みます。
  • Presentation.getSlides().get() メソッドを使用して最初のスライドを取得します。
  • ISlide.getSlideBackground() メソッドを使用してスライドの背景を取得します。
  • SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、背景タイプをカスタムに設定し、背景のカスタマイズを可能にします。
  • SlideBackground.getFill().setFillType(FillFormatType.PICTURE) メソッドを使用して、背景の塗りつぶしタイプを画像に設定します。
  • PictureFillFormat.setFillType(PictureFillType.STRETCH) メソッドを使用して、画像の塗りつぶしタイプをストレッチ塗りつぶしに設定します。
  • PictureFillFormat.getPicture().setTransparency() メソッドを使用して、画像背景の透明度を設定します。
  • PictureFillFormat.getPicture().setEmbedImage() メソッドを使用して、背景画像を設定します。
  • Presentation.saveToFile() メソッドを使用してプレゼンテーションを保存します。
  • Java
import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.SlideBackground;
import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;
import java.io.File;

public class Picture {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのオブジェクトを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("サンプル.pptx");

        //画像を読み込む
        IImageData image = ppt.getImages().append(ImageIO.read(new File("背景.jpg")));

        //最初のスライドを取得する
        ISlide slide = ppt.getSlides().get(0);

        //スライドの背景を取得する
        SlideBackground background = slide.getSlideBackground();

        //背景タイプをカスタムに設定する
        background.setType(BackgroundType.CUSTOM);

        //背景の塗りつぶしタイプを画像に設定する
        background.getFill().setFillType(FillFormatType.PICTURE);

        //画像の塗りつぶしタイプをストレッチに設定する
        PictureFillFormat pictureFillFormat = background.getFill().getPictureFill();
        pictureFillFormat.setFillType(PictureFillType.STRETCH);

        //画像背景の透明度を設定する
        pictureFillFormat.getPicture().setTransparency(50);

        //背景画像を設定する
        pictureFillFormat.getPicture().setEmbedImage(image);

        //プレゼンテーションを保存する
        ppt.saveToFile("画像背景.pptx", FileFormat.AUTO);
    }
}

Java:PowerPoint で背景を設定する方法

PowerPoint スライドにテクスチャの背景を設定する

テクスチャの背景の設定は、画像背景の設定に似ています。 違いは、画像の塗りつぶしタイプをタイル状の塗りつぶしに変更する必要があることと、テクスチャの配置を設定できることです。 手順は以下の通りです。

  • Presentation クラスのオブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用して、プレゼンテーションを読み込みます。
  • Presentation.getImages().append() メソッドを使用して、テクスチャ画像を読み込みます。
  • Presentation.getSlides().get() メソッドを使用して、最初のスライドを取得します。
  • ISlide.getSlideBackground() メソッドを使用してスライドの背景を取得します。
  • SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、背景タイプをカスタムに設定し、背景のカスタムを可能にします。
  • SlideBackground.getFill().setFillType(FillFormatType.PICTURE) メソッドを使用して、背景の塗りつぶしタイプを画像に設定します。
  • PictureFillFormat.setFillType(PictureFillType.TILE) メソッドを使用して、画像の塗りつぶしタイプをタイル状の塗りつぶしに設定します。
  • PictureFillFormat.setAlignment() メソッドを使用して、テクスチャ画像の配置を設定します。
  • PictureFillFormat.getPicture().setTransparency() メソッドを使用して、テクスチャの背景の透明度を設定します。
  • PictureFillFormat.getPicture().setEmbedImage() メソッドを使用して、背景テクスチャを設定します。
  • Presentation.saveToFile() メソッドを使用して、プレゼンテーションを保存します。
  • Java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

import javax.imageio.ImageIO;
import java.io.File;

public class Texture {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのオブジェクトを作成する
        Presentation ppt = new Presentation();

        //PowerPointプレゼンテーションを読み込む
        ppt.loadFromFile("サンプル.pptx");

        //テクスチャ画像を読み込む
        IImageData image = ppt.getImages().append(ImageIO.read(new File("テクスチャ.png")));

        //最初のスライドを取得する
        ISlide slide = ppt.getSlides().get(0);

        //スライドの背景を取得する
        SlideBackground background = slide.getSlideBackground();

        //背景タイプをカスタムに設定する
        background.setType(BackgroundType.CUSTOM);

        //背景の塗りつぶしタイプを画像に設定する
        background.getFill().setFillType(FillFormatType.PICTURE);

        //画像の塗りつぶしタイプをタイル状に設定する
        PictureFillFormat pictureFillFormat = background.getFill().getPictureFill();
        pictureFillFormat.setFillType(PictureFillType.TILE);

        //テクスチャの配置を設定する
        pictureFillFormat.setAlignment(RectangleAlignment.TOP_LEFT);

        //テクスチャの背景の透明度を設定する
        pictureFillFormat.getPicture().setTransparency(50);

        //背景のテクスチャを設定する
        pictureFillFormat.getPicture().setEmbedImage(image);

        //プレゼンテーションを保存する
        ppt.saveToFile("テクスチャの背景.pptx", FileFormat.AUTO);
    }
}

Java:PowerPoint で背景を設定する方法

PowerPoint スライドにパターン背景を設定する

パターン背景を設定する場合、パターンタイプとパターンの前景色と背景色を設定する必要があります。 詳しい手順は以下の通り。

  • Presentation クラスのオブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用して、プレゼンテーションを読み込みます。
  • Presentation.getSlides().get() メソッドを使用して、最初のスライドを取得します。
  • ISlide.getSlideBackground() メソッドを使用して、スライドの背景を取得します。
  • SlideBackground.setType(BackgroundType.CUSTOM) メソッドを使用して、背景の種類をカスタムに設定し、背景のカスタマイズを可能にします。
  • SlideBackground.getFill().setFillType(FillFormatType.PATTERN) メソッドを使用して、背景の塗りつぶしタイプをパターンに設定します。
  • PatternFillFormat.setPatternType() メソッドを使用して、パターンタイプを設定します。
  • PatternFillFormat.getForegroundColor().setColor() メソッドを使用して、パターンの前景色を設定します。
  • PatternFillFormat.getBackgroundColor().setColor() メソッドを使用して、パターンの背景色を設定します。
  • Presentation.saveToFile() メソッドを使用して、プレゼンテーションを保存します。
  • Java

Java:PowerPoint で背景を設定する方法

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

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

Spire.PDF 9.7.17のリリースを発表できることを嬉しく思います。このバージョンでは、PDFドキュメントのテキスト比較機能が追加されました。さらに、PDFをOFDに変換する際のリソース消費が多い問題など、いくつかの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - PDFドキュメントのテキスト比較機能が追加されました。
PdfDocument pdf1 = new PdfDocument(inputFile_1); 
PdfDocument pdf2 = new PdfDocument(inputFile_2); 
PdfComparer compare = new PdfComparer(pdf1, pdf2); 
compare.Options.SetPageRanges(0, pdf1.Pages.Count - 1, 0, pdf2.Pages.Count - 1); 
compare.Compare(outputFile); 
Bug SPIREPDF-6113 PDFをOFDに変換する際のリソース消費が多い問題が修正されました。
Bug SPIREPDF-6129 PDFを画像に変換したり、PDFを印刷する際に、特定のヨーロッパ文字(ü ä ö)の表示が正しくない問題が修正されました。
Bug SPIREPDF-6145 画像を取得する際に、プログラムがヌルポインタ例外を投げる問題が修正されました。
Bug SPIREPDF-6155 非表示署名を追加した後に、「Document Integrity Report」に余分なエラーメッセージが表示される問題が修正されました。
Bug SPIREPDF-6157 テーブルを抽出する際に、プログラムが「System.Exception: Cannot create Graphics object from an image with an indexed pixel format」投げる問題が修正されました。
ここで Spire.PDF 9.7.17をダウンロードする

Spire.PDF for Java 9.7.8のリリースを発表できることをうれしく思います。このバージョンでは、PDFからWordへの変換の新しいインターフェース、「クロップボックス」の設定インターフェース、および文書の印刷時に「Margins」の設定インターフェースが追加されました。PDFからWord、PDFA、およびOFDへの変換機能も強化されました。さらに、このバージョンではいくつかの既知の問題が修正されました。例えば、PDFを読み込む際にプログラムが「java.lang.NullPointerException」をスローした問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDF-5843
SPIREPDF-5854
PDFからWordへの変換の新しいインターフェースが追加されました。
PdfToWordConverter converter = new PdfToWordConverter(inputPath); 
converter.saveToDocx(OutputPath); 
converter.dispose(); 
New feature SPIREPDF-6115 「クロップボックス」の設定インターフェースが追加されました。
PdfDocument pdfDocument = new PdfDocument(); 
pdfDocument.loadFromFile("input.pdf"); 
PdfPageBase pdfPageBase = pdfDocument.getPages().get(0); 
// setting the "crop box". 
pdfPageBase.setCropBox(new Rectangle2D.Float(0,0,400,800)); 
pdfDocument.saveToFile("output.pdf", FileFormat.PDF);
New feature SPIREPDF-6167 文書の印刷時に「Margins」の設定インターフェースが追加されました。
PdfDocument pdf = new PdfDocument(); 
pdf.loadFromFile(inputFile); 
PrintSettings setting = pdf.getPrintSettings(); 
pdf.getPrintSettings().setPaperMargins(30,30, 30, 30); 
setting.setPrinter("Microsoft XPS Document Writer"); 
pdf.getPrintSettings().printToFile(outputFile); 
pdf.print(); 
pdf.close(); 
Bug SPIREPDF-3556 PDFをWordに変換した後、グラフの座標軸の座標が失われる問題が修正されました。
Bug SPIREPDF-4980 フローレイアウトでPDFをWordに変換した後、内容が正しくない問題が修正されました。
Bug SPIREPDF-5047 PDFをWordに変換した後、フォント名に余分な接尾辞が付く問題が修正されました。
Bug SPIREPDF-5067 PDFをWordに変換した後、Office365で開くと文字化けする問題が修正されました。
Bug SPIREPDF-6085 PDFを読み込む際に、プログラムが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREPDF-6102 PDFをPDFAに変換した後、文書を表示する際に必要なフォントが見つからないという警告が表示される問題が修正されました。
Bug SPIREPDF-6104 PDFをSVGに変換した後、枠線が切り取られる問題が修正されました。
Bug SPIREPDF-6105 PDFをPDFAに変換する際に、PdfDocument.setCustomFontsFolders()メソッドが無効になっていた問題が修正されました。
Bug SPIREPDF-6112 PDFを読み込む際に、プログラムが「PDF file structure is not valid」をスローした問題が修正されました。
Bug SPIREPDF-6147
SPIREPDF-6175
PDFをOFDに変換した後、フォントの太字効果がわかりにくい問題が修正されました。
Bug SPIREPDF-6154 文書を結合してPDFA1Aに変換する際に、プログラムが「For input string: "e-"」をスローした問題が修正されました。
Bug SPIREPDF-6187 回転させた文書を元の位置に再度回転させる際に、プログラムが「NullPointerException」をスローした問題が修正されました。
ここでSpire.PDF for Java 9.7.8をダウンロードする

Excel の図形は、テキストボックスや画像などのオブジェクトを含む、ワークシートを装飾または最適化できる視覚要素として機能します。図形を挿入することで、データをより直感的に表示し、重要な情報を強調し、スプレッドシートの可読性を高めることができます。図形内の内容を独立して扱う必要がある場合は、プログラムを使って図形から抽出してさらなる処理を行うことができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET で Excel の図形からテキストと画像を抽出する方法を紹介します。

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

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

PM> Install-Package Spire.XLS

Excel の図形からテキストを抽出する

Spire.XLS for .NET を使用すると、ユーザーは IPrstGeomShape.Text プロパティを使用して図形からテキストを抽出し、新しい .txt ファイルに書き込むことができます。以下は詳細な手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 最初のワークシートを Workbook.Worksheets[] プロパティで取得します。
  • 2 番目の図形は Worksheet.PrstGeomShapes[] プロパティで取得します。
  • 2 番目の図形からテキストを抽出し、文字列変数に保存します。
  • StringBuilder オブジェクトを作成し、抽出したテキストを追加します。
  • File.WriteAllText() メソッドを使用して、テキストを .txt ファイルに書き込みます。
  • C#
  • VB.NET
using System.IO;
using System.Text;
using Spire.Xls;
using Spire.Xls.Core;

namespace Extracttext
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //Excelファイルをロードする
            workbook.LoadFromFile("sample.xlsx");

            //最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //2番目の図形を取得してテキストを抽出する
            IPrstGeomShape shape1 = sheet.PrstGeomShapes[1];
            string s = shape1.Text;

            //StringBuilderオブジェクトに抽出されたテキストをアタッチする
            StringBuilder sb = new StringBuilder();
            sb.AppendLine(s);

            //テキストを.txtファイルに書き込む
            File.WriteAllText("ShapeText.txt", sb.ToString());
            workbook.Dispose();
        }
    }
}
Imports System.IO
Imports System.Text
Imports Spire.Xls
Imports Spire.Xls.Core

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

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook

            'Excelファイルをロードする
            workbook.LoadFromFile("sample.xlsx")

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '2番目の図形を取得してテキストを抽出する
            Dim shape1 As IPrstGeomShape = sheet.PrstGeomShapes(1)
            Dim s As String = shape1.Text

            'StringBuilderオブジェクトに抽出されたテキストをアタッチする
            Dim sb As StringBuilder = New StringBuilder
            sb.AppendLine(s)

            'テキストを.txtファイルに書き込む
            File.WriteAllText("ShapeText.txt", sb.ToString)
            workbook.Dispose
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel の図形からテキストと画像を抽出する方法

Excel の図形から画像を抽出する

さらに、Spire.XLS for .NET では、IPrstGeomShape.Fill.Picture プロパティを使用して画像を抽出し、フォルダーに保存することもできます。関連する手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 最初のワークシートを Workbook.Worksheets[] プロパティで取得します。
  • 最初の図形は Worksheet.PrstGeomShapes[] プロパティで取得します。
  • FillPicture プロパティを使用して、最初の図形から 画像を抽出します。
  • Image.Save() メソッドを使用して、抽出した画像をフォルダーに保存します。
  • C#
  • VB.NET
using System.Drawing;
using System.Drawing.Imaging;
using Spire.Xls;
using Spire.Xls.Core;

namespace Extractimage
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //Excelファイルをロードする
            workbook.LoadFromFile("sample.xlsx");

            //最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //最初の図形を取得して画像を抽出する
            IPrstGeomShape shape2 = sheet.PrstGeomShapes[0];
            Image image = shape2.Fill.Picture;

            //抽出した画像をフォルダに保存する
            image.Save(@"Image\ShapeImage.png", ImageFormat.Png);
            workbook.Dispose();
        }
    }
}
Imports System.Drawing
Imports System.Drawing.Imaging
Imports Spire.Xls
Imports Spire.Xls.Core

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

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook

            'Excelファイルをロードする
            workbook.LoadFromFile("sample.xlsx")

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '最初の図形を取得して画像を抽出する
            Dim shape2 As IPrstGeomShape = sheet.PrstGeomShapes(0)
            Dim image As Image = shape2.Fill.Picture

            '抽出した画像をフォルダに保存する
            image.Save("Image\ShapeImage.png", ImageFormat.Png)
            workbook.Dispose
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel の図形からテキストと画像を抽出する方法

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

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

Spire.Presentation for Java 8.7.3を発表できることをうれしく思います。このバージョンは、複数のスライドを選択して1つのSVGファイルに結合して変換する機能が追加されました。また、PPTから画像への変換機能も強化されました。さらに、既知の問題のいくつかも修正されました。例えば、図形を画像に保存した後に内容が切り取られる問題などです。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2293 複数のスライドを選択して、1つのSVGファイルに結合して変換する機能が追加されました。
Presentation ppt = new Presentation(); 
ppt.loadFromFile("input.pptx"); 
//saveToOneSVG(int startSlide,int endSlide) 
//startSlide:Start slide index endSlide:End slide index 
byte[] bytes = ppt.saveToOneSVG(10,13); 
FileOutputStream fos = new FileOutputStream(new File("result.svg")); 
fos.write(bytes); 
fos.flush(); 
fos.close(); 
Bug SPIREPPT-2269 図形を画像として保存した後、内容が切り取られる問題が修正されました。
Bug SPIREPPT-2283 PPTを画像に変換した後、テキストのレイアウトが乱れる問題が修正されました。
Bug SPIREPPT-2295 PICTURE_ORGANIZATION_CHARTですべてのノードを削除した後、手動で画像を追加する際に画像のプレースホルダーを取得できない問題が修正されました。
Bug SPIREPPT-2301 PPTを結合した後、TXTの添付ファイルが開けない問題が修正されました。
ここで Spire.Presentation for Java 8.7.3をダウンロードする

Word ドキュメントのヘッダーとフッターは、ドキュメントページの上部と下部にそれぞれ配置され、ページ番号、ドキュメントタイトル、著者などの情報を表示します。しかし、ドキュメントを印刷したりオンラインで共有したりする場合、プライバシーを保護するためにこれらの情報を削除することが望ましい場合があります。さらに、ヘッダーとフッターは、印刷されたページの貴重なスペースを余分に占め、ドキュメントの全体的な書式を妨げる可能性があります。ヘッダーやフッターを削除することで、ページスペースを確保し、ドキュメントの書式が乱雑にならないようにすることができます。この記事では、Spire.Doc for Java を使用して、Java プログラムで Word ドキュメントからヘッダーとフッターを削除する方法を紹介します。

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

まず、Spire.Doc 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.doc</artifactId>
        <version>11.7.0</version>
    </dependency>
</dependencies>

ヘッダーとフッターを種類別に削除する

Word ドキュメントでは、最初のページ、奇数ページ、偶数ページに異なるヘッダーとフッターを設定することができます。これらのタイプのヘッダーとフッターは HeaderFooter.getByHeaderFooterType(hfType) メソッドで取得でき、 HeaderFooter.getChildObjects().clear() メソッドで削除できます。

以下に、列挙型と、それらが表すヘッダーとフッターのタイプのリストを示します。

列挙型 説明
HeaderFooterType.Header_First_Page 1ページ目のヘッダーを表します。
HeaderFooterType.Footer_First_Page 1ページ目のフッターを表します。
HeaderFooterType.Header_Odd 奇数ページのヘッダーを表します。
HeaderFooterType.Footer_Odd 奇数ページのフッターを表します。
HeaderFooterType.Header_Even 偶数ページのヘッダーを表します。
HeaderFooterType.Footer_Even 偶数ページのフッターを表します。

詳しい手順は以下の通り。

  • Document クラスのオブジェクトを作成します。
  • Doucment.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.getSections().get() メソッドを使用して、ドキュメントの最初のセクションを取得します。
  • Section.getHeadersFooters().getByHeaderFooterType() メソッドを使用して最初のページのヘッダーを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用して削除します。
  • 同じメソッドを使用して、最初のページのフッターを削除します。奇数ページと偶数ページのヘッダーとフッターも、これらのメソッドで削除できます。
  • Document.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.HeaderFooterType;

public class removeHeaderFooter {
    public static void main(String[] args) {
        //Documentクラスのオブジェクトを作成する
        Document doc = new Document();

        //Wordドキュメントを読み込む
        doc.loadFromFile("サンプル.docx");

        //ドキュメントの最初のセクションを取得する
        Section section = doc.getSections().get(0);

        //1ページ目のヘッダーを取得し、その内容を削除する
        HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page);
        header.getChildObjects().clear();

        //1ページ目のフッターを取得し、その内容を削除する
        HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page);
        footer.getChildObjects().clear();

        //奇数ページのヘッダーとフッターを取得し、その内容を消去する
        //HeaderFooter header1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd);
        //header1.getChildObjects().clear();
        //HeaderFooter footer1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd);
        //footer1.getChildObjects().clear();

        //偶数ページのヘッダーとフッターを取得し、その内容を消去する
        //HeaderFooter header2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even);
        //header2.getChildObjects().clear();
        //HeaderFooter footer2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even);
        //footer2.getChildObjects().clear();

        //ファイルを保存する
        doc.saveToFile("ヘッダーとフッターの種類別に削除.docx", FileFormat.Auto);
        doc.dispose();
    }
}

Java:Word のヘッダーとフッターを削除する方法

ヘッダーとフッターをセクション別に削除する

セクションによってヘッダーとフッターは異なります。あるセクションのヘッダーとフッターを削除するには、Document.getSections().get() メソッドでそのセクションを取得し、HeaderFooter.getChildObjects().clear() メソッドでその中のヘッダーとフッターを削除します。

注意しなければならないのは、セクション内のヘッダーとフッターの内容を削除すると、自動的に前のセクションの内容に変わってしまうということです。そのため、ヘッダーとフッターを削除した後に空白の段落を追加して、自動的に変更されないようにする必要があります。

詳しい手順は以下の通り。

  • Document クラスのオブジェクトを作成します。
  • Doucment.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.getSections().get() メソッドを使用して、ドキュメントの2番目のセクションを取得します。
  • Section.getHeadersFooters().getHeader() メソッドを使用して2番目のセクションのヘッダーを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用してその内容を削除し、HeaderFooter.addParagraph() メソッドを使用して空の段落を追加します。
  • Section.getHeadersFooters().getFooter() メソッドを使用して2番目のセクションのフッターを取得し、HeaderFooter.getChildObjects().clear() メソッドを使用してその内容を削除し、HeaderFooter.addParagraph() メソッドを使用して空の段落を追加します。
  • Document.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.doc.Document;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;

public class removeHeaderFooterSection {
    public static void main(String[] args) {
        //Documentクラスのオブジェクトを作成する
        Document doc = new Document();

        //Wordドキュメントを読み込む
        doc.loadFromFile("サンプル1.docx");

        //ドキュメントの2番目のセクションを取得する
        Section section = doc.getSections().get(1);

        //セクションのヘッダーを取得し、その内容を削除し、空白の段落を追加する
        HeaderFooter header1 = section.getHeadersFooters().getHeader();
        header1.getChildObjects().clear();
        header1.addParagraph();

        //セクションのフッターを取得し、その内容を削除し、空白の段落を追加する。
        HeaderFooter footer1 = section.getHeadersFooters().getFooter();
        footer1.getChildObjects().clear();
        footer1.addParagraph();

        //ファイルを保存する
        doc.saveToFile("ヘッダーとフッターのセクション別に削除.docx");
        doc.dispose();
    }
}

Java:Word のヘッダーとフッターを削除する方法

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

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

PDF を作成する際には、異なる状況に応じて適切なフォントを使用することが重要です。通常の PDF ファイルでは、Arial や Times New Roman などの一般的なフォントでテキストを描画できます。独自のビジュアルアイデンティティを持つ特徴的な PDF を作成したい場合は、プライベートフォントを使用することができます。この記事では、Spire.PDF for Java を使用して PDF にさまざまなフォントを適用する方法を紹介します。

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

まず、Spire.PDF 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.pdf</artifactId>
        <version>9.6.2</version>
    </dependency>
</dependencies>

Java の PDF に異なるフォントを適用する

Spire.PDF for Java は、標準フォント, TrueType フォント, 私有フォントおよび CJK フォントをサポートしています。以下は、これらのフォントを使用して PDF でテキストを描画する手順です。

  • PdfDocument インスタンスを作成します。
  • ページを追加し、ブラシを作成します。
  • PdfFont クラスのインスタンスを作成し、PdfPageBase.getCanvas().drawString() メソッドを使用して標準フォントでページ上にテキストを描画します。
  • PdfTrueTypeFont クラスのインスタンスを作成し、TrueType フォントでページ上にテキストを描画します。
  • PdfTrueTypeFont クラスのインスタンスを作成し、私有フォントを使用してページ上にテキストを描画します。
  • PdfCjkStandardFont クラスのインスタンスを作成し、CJK フォントを使用してページ上にテキストを描画します。
  • PdfDocument.saveToFile()メソッドを使用して結果文書を保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;

public class PdfFonts {

    public static void main(String[] args) {

        //PdfDocumentインスタンスを作成する
        PdfDocument pdf = new PdfDocument();


        //ページを追加する
        PdfPageBase page = pdf.getPages().add();


        //ブラシを作成する
        PdfBrush brush = PdfBrushes.getBlack();


        //y座標を初期化する
        float y = 30;

        //標準フォントを使用してテキストを描画する
        PdfFont standardFont = new PdfFont(PdfFontFamily.Helvetica, 14f);
        page.getCanvas().drawString("Standard Font - Helvetica", standardFont, brush, 0, y);
        standardFont = new PdfFont(PdfFontFamily.Times_Roman, 14f);
        page.getCanvas().drawString("Standard Font - Times_Roman", standardFont, brush, 0, (y = y + 16));
        standardFont = new PdfFont(PdfFontFamily.Courier, 14f);
        page.getCanvas().drawString("Standard Font - Courier", standardFont, brush, 0, (y = y + 16));

        //TrueTypeフォントを使用してテキストを描画する
        java.awt.Font font = new java.awt.Font("Arial", java.awt.Font.BOLD, 14);
        PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font);
        page.getCanvas().drawString("TrueType Font - Arial", trueTypeFont, brush, 0, (y = y + 30f));

        //私有フォントを使用してテキストを描画する
        String fontFileName = "Khadija.ttf";
        trueTypeFont = new PdfTrueTypeFont(fontFileName, 14f);
        page.getCanvas().drawString("Private Font - Khadija", trueTypeFont, brush, 0, (y = y + 30f));

        //CJKフォントを使用してテキストを描画する
        PdfCjkStandardFont cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Monotype_Hei_Medium, 14f);
        page.getCanvas().drawString("How to say 'Font' in Chinese? \u5B57\u4F53", cjkFont, brush, 0, (y = y + 30f));
        cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f);
        page.getCanvas().drawString("How to say 'Font' in Japanese? \u30D5\u30A9\u30F3\u30C8", cjkFont, brush, 0, (y = y + 16f));
        cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Shin_Myeong_Jo_Medium, 14f);
        page.getCanvas().drawString("How to say 'Font' in Korean? \uAE00\uAF34", cjkFont, brush, 0, (y = y + 16f));

        //結果文書を保存する
        pdf.saveToFile("PdfFonts.pdf");
        pdf.close();
    }
}

Java:PDF に異なるフォントを適用する方法

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

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

Spire.PDF for Android via Java 9.7.1のリリースを発表できることを嬉しく思います。このリリースでは、PDFからPPTXへの変換機能や画像の圧縮機能が追加されました。Metadataデータの取得方法も変更されました。また、この更新には問題の修正も含まれています。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - PDFからPPTXへの変換機能がサポートされました。
String input = "data/JavaPDFSample_1.pdf";
String output = "output/toPPTX.pptx";
//PDF ドキュメントをロードする
PdfDocument doc = new PdfDocument();
doc.loadFromFile(input);
//PPTXファイルに変換する
doc.saveToFile(output, FileFormat.PPTX);
doc.close();
New feature - 画像の圧縮機能が追加されました。
PdfCompressor compressor = new PdfCompressor(inputFile);
compressor.getOptions().getImageCompressionOptions().setCompressImage(true);
compressor.getOptions().getImageCompressionOptions().setResizeImages(true);
compressor.getOptions().getImageCompressionOptions().setImageQuality(ImageQuality.High);
compressor.compressToFile(outputFile);
New feature - Metadataデータを取得するためのpdf.getDocumentInformation()メソッドが追加されました。XmpMetadataは廃止されました。
PdfDocument doc = new PdfDocument();
doc.loadFromFile(inputFile);
StringBuilder builder = new StringBuilder();
builder.append("Author:" + doc.getDocumentInformation().getAuthor() + "\r\n");
builder.append("Title: " + doc.getDocumentInformation().getTitle() + "\r\n");
builder.append("Creation Date: " + doc.getDocumentInformation().getCreationDate() + "\r\n");
builder.append("Subject: " + doc.getDocumentInformation().getSubject() + "\r\n");
builder.append("Producer: " + doc.getDocumentInformation().getProducer() + "\r\n");
builder.append("Creator: " + doc.getDocumentInformation().getCreator() + "\r\n");
builder.append("Keywords: " + doc.getDocumentInformation().getKeywords() + "\r\n");
builder.append("Modify Date: " + doc.getDocumentInformation().getModificationDate() + "\r\n");
builder.append("Customed Property's value: " + doc.getDocumentInformation().getCustomProperty("Field1"));
FileWriter fw = new FileWriter(new File(outputFile), true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(builder.toString());
bw.flush();
bw.close();
fw.close();
Bug - 開くパスワードとアクセス許可パスワードが一致している場合にエラーが表示されない問題が修正されました。
ここで Spire.PDF for Android via Java 9.7.1をダウンロードする