チュートリアル

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

Koohji

Koohji

多くの理由で、Word ドキュメントをイメージに変換する必要がある場合があります。例えば、多くのデバイスは、特別なソフトウェアを必要とせずにイメージを直接開いて表示することができます。また、イメージ伝送は、コンテンツが他の人によって変更されないようにすることもできます。この記事では、Spire.Doc for 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>10.9.8</version>
    </dependency>
</dependencies>

Word を JPG に変換する

Spire.Doc for Java が提供する Document.saveToImages() メソッドは、Word 文書のページを Bitmap または Metafile に変換します。その後、Bitmap または Metafile は、BMPEMFJPEGPNGGIF または WMF 書式のイメージとして保存することができます。以下は Word を JPG に変換するための詳細な手順です。

  • Document オブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.saveToImages() メソッドを使用して、Word 文書を BufferedImage イメージに変換します。
  • イメージコレクションをループし、特定のイメージを取得します。
  • 異なる色空間でイメージを再書き込みます。
  • BufferedImage を JPG ファイルに書き込みます。
  • Java
import com.spire.doc.Document;
import com.spire.doc.documents.ImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ConvertWordToJPG {

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

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

        //Word文書をロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");

        //文書全体のページをイメージに変換する
        BufferedImage[] images = doc.saveToImages(ImageType.Bitmap);

        //イメージをループする
        for (int i = 0; i < images.length; i++) {

            //指定されたイメージを取得する
            BufferedImage image = images[i];

            //異なる色空間でイメージを再書き込み
            BufferedImage newImg = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
            newImg.getGraphics().drawImage(image, 0, 0, null);

            //JPGファイルに書き込む
            File file = new File("C:\\Users\\Administrator\\Desktop\\Images\\" + String.format(("Image-%d.jpg"), i));
            ImageIO.write(newImg, "JPEG", file);
        }
    }
}

Word を SVG に変換する

Spire.Doc for Java を使用して Word 文書を一連のバイト配列として保存し、SVG 文書にそれぞれ書き込むことができます。Word を SVG に変換するための詳細な手順は次のとおりです。

  • Document オブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.setUseNewEngine() メソッドに true を設定することで、新しいエンジンを使用して SVG に変換します。
  • Document.saveToSVG() メソッドを使用して、文書をバイト配列キューとして保存します。
  • すべてのアイテムをループし、指定されたバイト配列を取得します。
  • SVG ファイルにバイト配列を書き込みます。
  • Java
import com.spire.doc.Document;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class ConvertWordToSVG {

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

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

        //Word文書をロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");

        //新しいエンジンを使用して変換する
        doc.setUseNewEngine(true);

        //文書をバイト配列キューとして保存する
        List svgBytes = doc.saveToSVG();

        //すべてのアイテムをループする
        for (int i = 0; i < svgBytes.size(); i++)
        {
            //指定されたバイト配列を取得する
            byte[] byteArray = svgBytes.get(i);

            //出力ファイル名を指定する
            String outputFile = String.format("Image-%d.svg", i);

            //SVGファイルにバイト配列を書き込む
            try (FileOutputStream stream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\Images\\" + outputFile)) {
                stream.write(byteArray);
            }
        }
    }
}

Word をカスタム解像度の PNG に変換する

より解像度の高いイメージはコンテンツをより明確に表示することができます。以下の手順に従って、Word を PNG に変換するときに、イメージ解像度を設定することができます。

  • Document オブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.saveToImages() メソッドを使用して、文書を BufferedImage イメージに変換します。
  • イメージコレクションをループします。特定のイメージを取得します。
  • BufferedImage を PNG ファイルに書き込みます。
  • Java
import com.spire.doc.Document;
import com.spire.doc.documents.ImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ConvertWordToPNG {

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

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

        //Word文書をロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");

        //文書全体のページをイメージに変換する
        BufferedImage[] images = doc.saveToImages(0, doc.getPageCount(), ImageType.Bitmap, 150, 150);

        //イメージをループする
        for (int i = 0; i < images.length; i++) {

            //指定されたイメージを取得する
            BufferedImage image = images[i];

            //PNGファイルに書き込む
            File file = new File("C:\\Users\\Administrator\\Desktop\\Images\\" + String.format(("Image-%d.png"), i));
            ImageIO.write(image, "PNG", file);
        }
    }
}

Java:Word をイメージに変換する方法(JPG, SVG, PNG)

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

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

XPS(XML Paper Specification)は、Microsoft が開発したページ記述言語と固定文書フォーマットの仕様です。ドキュメントのレイアウトと各ページの視覚的な外観を定義します。XPS 形式のファイルを取得するには、フォーマット変換によって実現することができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel を XPS に変換する方法を紹介します。

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

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

PM> Install-Package Spire.XLS

Excel を XPS に変換する

Spire.XLS for .NET は、Excel (.xls/.xlsx) を3行のコードだけで XPS に変換できます。具体的な手順は以下の通り。

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel サンプルドキュメントをロードします。
  • Workbook.SaveToFile(string, FileFormat) メソッドを使用して、Excel を XPS に変換します。
  • C#
  • VB.NET
using Spire.Xls;

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

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

            //Excelサンプルドキュメントをロードする
            workbook.LoadFromFile(@"E:\Files\\sample0.xlsx", ExcelVersion.Version2010);

            //ExcelをXPSに変換する
            workbook.SaveToFile("result.xps", FileFormat.XPS);
        }
    }
}
Imports Spire.Xls

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

            'Workbookインスタンスを作成する
            Dim workbook As Workbook = New Workbook

            'Excelサンプルドキュメントをロードする
            workbook.LoadFromFile("E:\Files\\sample0.xlsx", ExcelVersion.Version2010)

            'ExcelをXPSに変換する
            workbook.SaveToFile("result.xps", FileFormat.XPS)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel を XPS に変換する方法

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

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

ピボットテーブルは Excel の強力なツールであり、データの分類、ソート、フィルタリング、要約をサポートします。レポート用にデータを要約して分析する必要がある場合は、ピボットテーブルを使用することがよくあります。この記事では、Spire.XLS for Java を使用してピボットテーブルを作成する方法を紹介します。

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

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

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

ピボットテーブルを作成する方法

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excel サンプルドキュメントをロードします。
  • Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して、データソース範囲を選択します。次に Workbook.getPivotCaches().add(CellRange range) メソッドを使用して、データ情報を保存するために PivotCache を作成します。
  • Worksheet.getPivotTables().add(java.lang.String name, CellRange location, PivotCache cache) メソッドを使用して、ピボットテーブルを指定したワークシートに追加し、位置とキャッシュを設定します。
  • ピボットテーブルの行ラベルを定義し、PivotTable.getDataFields().add(IPivotField iField, java.lang.String name, SubtotalTypes subtotal) メソッドを使用して、データ領域にフィールドを追加してデータを計算します。
  • PivotTable.setBuiltInStyle(PivotBuiltInStyles builtInStyle) メソッドを使用して、ピボットテーブルのスタイルを設定します。
  • Workbook.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.xls.*;

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

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

        //Excelサンプルドキュメントをロードする
        workbook.loadFromFile("E:\\Files\\sample.xlsx");

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

        //データソース範囲を選択する
        CellRange dataRange = sheet.getCellRange("B1:F11");
        PivotCache cache = workbook.getPivotCaches().add(dataRange);

        //指定したワークシートにピボットテーブルを追加し、位置とキャッシュを設定する
        PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("H3"), cache);

        //ピボットテーブルの行ラベルを定義する
        PivotField pf=null;
        if (pt.getPivotFields().get("国") instanceof PivotField){
            pf= (PivotField) pt.getPivotFields().get("国");
        }
        pf.setAxis(AxisTypes.Row);

        PivotField pf2 =null;
        if (pt.getPivotFields().get("製品") instanceof PivotField){
            pf2= (PivotField) pt.getPivotFields().get("製品");
        }
        pf2.setAxis(AxisTypes.Row);

        //データフィールドを追加してデータを計算する
        pt.getDataFields().add(pt.getPivotFields().get("数量"), "合計数量", SubtotalTypes.Sum);
        pt.getDataFields().add(pt.getPivotFields().get("価格"), "合計価格", SubtotalTypes.Sum);

        //ピボットテーブルのスタイルを設定する
        pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium10);

        //結果文書を保存する
        workbook.saveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2013);
    }
}

Java:ピボットテーブルを作成する方法

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

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

ウォーターマークは、ドキュメントの背景にある淡い画像またはテキストです。文書を他の人に送信する必要がある場合は、文書にウォータマークを追加することで、他人が文書を不正に使用しないようにしたり、文書が機密、下書き、サンプルなどであることを読者に注意したりすることができます。この記事では、Spire.Doc for 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>10.9.8</version>
    </dependency>
</dependencies>

Word ドキュメントにテキストウォータマークを追加する

以下に詳細な操作方法を示します。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • Document.getSections().get() メソッドを使用して最初のセクションを取得します。
  • TextWatermark インスタンスを作成します。
  • TextWatermark クラスで提供される方法を使用して、テキストウォータマークのテキスト、フォントサイズ、色、レイアウトを設定します。
  • Section.getDocument().setWatermark() メソッドを使用して、サンプルドキュメントにテキストウォーターマークを追加します。
  • Document.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;

public class WordTextWatermark {
    public static void main(String[] args) {
        //Documentインスタンスを作成する
        Document document = new Document();

        //サンプルドキュメントをロードする
        document.loadFromFile("Sample.docx");

        //最初のセクションを取得する
        Section section = document.getSections().get(0);

        //TextWatermarkインスタンスを作成する
        TextWatermark txtWatermark = new TextWatermark();

        //テキストウォータマークの書式を設定する
        txtWatermark.setText("機密");
        txtWatermark.setFontSize(40);
        txtWatermark.setColor(Color.red);
        txtWatermark.setLayout(WatermarkLayout.Diagonal);

        //ドキュメントにテキストウォーターマークを追加する
        section.getDocument().setWatermark(txtWatermark);

        //結果文書を保存する
        document.saveToFile("out/result.docx", FileFormat.Docx);
    }

}

Java:Word ドキュメントにテキストと画像ウォータマークを追加する方法

Word ドキュメントに画像ウォータマークを追加する

以下に詳細な操作方法を示します。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • PictureWatermark インスタンスを作成します。
  • PictureWatermark.setPicture() メソッドを使用して画像を画像ウォータマークとしてロードします。PictureWatermark.setScaling() メソッドと PictureWatermark.isWashout() メソッドを使用して、画像ウォータマークのスケーリングとウォッシュアウトプロパティを設定します。
  • Document.setWatermark() メソッドを使用して、サンプルドキュメントに画像ウォーターマークを追加します。
  • Document.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.doc.*;


public class WordImageWatermark {
    public static void main(String[] args)  throws Exception{
        //Documentインスタンスを作成する
        Document document = new Document();

        //サンプルドキュメントをロードする
        document.loadFromFile("Sample.docx");

        //PictureWatermarkインスタンスを作成する
        PictureWatermark picture = new PictureWatermark();

        //画像ウォータマークの書式を設定する
        picture.setPicture("logo.png");
        picture.setScaling(100);
        picture.isWashout(false);

        //サンプルドキュメントにイメージウォーターマークを追加する
        document.setWatermark(picture);

        //結果文書を保存する
        document.saveToFile("out/result2.docx",FileFormat.Docx );
    }
}

Java:Word ドキュメントにテキストと画像ウォータマークを追加する方法

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

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

MS Word の「検索」機能により、ユーザーはドキュメント内の特定のテキストやフレーズをすばやく検索することができ、ユーザーは見つけたテキストを黄色やその他の明るい色で強調表示することもでき、読者を一目で見ることができます。この記事では、Spire.Doc for 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>10.9.8</version>
    </dependency>
</dependencies>

Word ドキュメント内のテキストを検索してハイライトする

以下に詳細な操作方法を示します。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • Document.findAllString(java.lang.String matchString, boolean caseSensitive, boolean wholeWord) メソッドを使用して、ドキュメント内のすべての一致するテキストを検索します。
  • ドキュメント内のすべての一致するテキストをループします。
  • TextSelection.getAsOneRange() メソッドを使用して、特定のテキスト範囲を取得します。次に TextRange.getCharacterFormat().setHighlightColor() メソッドを使用してハイライトのカラーを設定します。
  • Document.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.TextSelection;

import java.awt.*;
public class FindAndHighlight {
    public static void main(String[] args){
        //Documentインスタンスを作成する
        Document document = new Document();

        //サンプルドキュメントをロードする
        document.loadFromFile("E:\\Files\\input1.docx");

        //ドキュメント内のすべての一致するテキストを検索する
        TextSelection[] textSelections = document.findAllString("東京ディズニーランド", false, true);

        //ドキュメント内のすべての一致するテキストをループする
        for (TextSelection selection : textSelections) {
            //特定のテキスト範囲を取得して、ハイライトのカラーを設定する
            selection.getAsOneRange().getCharacterFormat().setHighlightColor(Color.YELLOW);
        }

        //結果文書を保存する
        document.saveToFile("FindAndHighlight.docx", FileFormat.Docx_2013);
    }
}

Java:Word ドキュメント内のテキストを検索してハイライトする方法

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

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

Spire.Office 7.9.2 のリリースを発表できることを嬉しく思います。このバージョンでは、Spire.PDF は画像を含む電子署名の追加とブックマークのズームタイプが Brought forward に設定することをサポートしました。Spire.XLS は条件付き書式の色の取得をサポートしました。Spire.Presentation はスライドに最初に表示される一致するテキストを検索してスタイルを変更する機能をサポートしました。さらに、このバージョンでは、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

このバージョンでは、Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExport の最新バージョンが含まれています。

DLL Versions:
  • Spire.Doc.dll v10.9.9
  • Spire.Pdf.dll v8.9.16
  • Spire.XLS.dll v12.9.3
  • Spire.Presentation.dll v7.9.2
  • Spire.Email.dll v5.8.0
  • Spire.DocViewer.Forms.dll v7.8.0
  • Spire.PdfViewer.Forms.dll v7.8.0
  • Spire.PdfViewer.Asp.dll v7.8.0
  • Spire.Spreadsheet.dll v6.9.0
  • Spire.OfficeViewer.Forms.dll v7.9.2
  • Spire.Barcode.dll v6.8.0
  • Spire.DataExport.dll v4.8.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 7.9.2 をダウンロードする:

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

Spire.PDF

カテゴリー ID 説明
New feature SPIREPDF-5358 パンフレットを作成する時に、ステープル方向の設定をサポートしました。
float width = PdfPageSize.A4.Width * 2;
float height = PdfPageSize.A4.Height; 
Stream outputstreaml = File.Open(outputFile, FileMode.Create, FileAccess.ReadWrite, FileShare.Read);
BookletOptions bookletOptions = new BookletOptions();
bookletOptions.BookletBinding = Spire.Pdf.Utilities.PdfBookletBindingMode.Left;
SizeF size = new SizeF(width, height);
PdfBookletCreator.CreateBooklet(doc, outputstreaml, size, bookletOptions);
New feature SPIREPDF-5403 添付ファイルと PDF を OFD に変換することをサポートしました。
New feature SPIREPDF-5462 ブックマークのズームタイプが Brought forward に設定することをサポートしました。
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
            PdfBookmarkCollection bookmarks = pdf.Bookmarks;
            for(int i = 0; i<bookmarks.Count; i++)
            {
                PdfBookmark bookmark = bookmarks[i];
SetBookmarkAction(bookmark);
            }
            pdf.SaveToFile(outputFile, FileFormat.PDF);

  private void SetBookmarkAction(PdfBookmark bookmark)
{
    PdfDestination dest = bookmark.Destination;
    dest.Mode = PdfDestinationMode.Location;
    dest.Zoom = 0;
    for (int i = 0; i < bookmark.Count; i++)
    {
        PdfBookmark childbookmark = bookmark[i];
        SetBookmarkAction(childbookmark);
    }
}
New feature SPIREPDF-5461 ハイパーリンクのズームタイプが Brought forward に設定することをサポートしました。
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
            PdfAnnotationCollection annotations = pdf.Pages[0].AnnotationsWidget;
            for(int i = 0; i<annotations.Count; i++)
            {
                PdfDocumentLinkAnnotationWidget anno = annotations[i] as PdfDocumentLinkAnnotationWidget;
PdfDestination dest = anno.Destination;
dest.Mode = PdfDestinationMode.Location;
                dest.Zoom = 0;
                anno.Destination = dest;
            }
            pdf.SaveToFile(outputFile, FileFormat.PDF);
            pdf.Close();
New feature SPIREPDF-1126 画像を含む電子署名の追加をサポートしました。
static void Main(string[] args)
{

    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile(@"test.pdf");
    PdfPageBase pagebase = doc.Pages[0];
    X509Certificate2 x509 = new X509Certificate2(@"gary.pfx", "e-iceblue");
    PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(doc, x509);
    IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();
    signatureMaker.MakeSignature("Signature", signatureAppearance);
    doc.SaveToFile(@"new.pdf", Spire.Pdf.FileFormat.PDF);
    doc.Close();
}
public class PdfCustomSignatureAppearance : IPdfSignatureAppearance
{
    public void Generate(PdfCanvas g)
    {
        Image image = Image.FromFile("test.png");
        g.DrawImage(PdfImage.FromImage(image), new PointF(0, 0));
    }
}
Bug SPIREPDF-892 PDF を画像に変換した後、点線の効果が正しくない問題が修正されました。
Bug SPIREPDF-1121 PDF を印刷した後、テキストの位置が正しくない問題が修正されました。
Bug SPIREPDF-1125 画像フィールドが塗りつぶされた PDF ファイルを開く際にエラーが発生していた問題が修正されました。
Bug SPIREPDF-4485 フォームフィールド内のテキストの置換に失敗した問題が修正されました。
Bug SPIREPDF-5439 抽出されたテーブルの内容が正しくない問題が修正されました。
Bug SPIREPDF-5441 テーブルを抽出するときに、アプリケーションが「System.ArgumentException」をスローする問題が修正されました。
Bug SPIREPDF-5444 作成した画像を含む PDF ファイルが MacOS 12.5 で Preview ツールを使ってエラーメッセージを開く問題が修正されました。
Bug SPIREPDF-5456 ドイツ語環境で「pdf.SaveToFile(file)」を実行する際にアプリケーションが「Invalid date string,after year」をスローする問題が修正されました。
Bug SPIREPDF-5466 PDF を画像に変換した後にジオメトリ上の英字が失われていた問題が修正されました。
Bug SPIREPDF-5467 PDF を画像に変換して内容が失われていた問題が修正されました。
Bug SPIREPDF-1228
SPIREPDF-5298
テキストフィールドが更新された後に、テキストの位置が正しくない問題が修正されました。
Bug SPIREPDF-5345 PDF が SVG に変換した後に、テキストの位置ずれの問題が修正されました。
Bug SPIREPDF-5407 PDF の画像変換に失敗した問題が修正されました。
Bug SPIREPDF-5408 パンフレットを作成する時にページ順序が間違っていた問題が修正されました。
Bug SPIREPDF-5413 PDF が OFD に変換されて開かなくなった問題が修正されました。
Bug SPIREPDF-5431 抽出テーブルの内容が重複していた問題が修正されました。
Bug SPIREPDF-5442 PDF を SVG に変換した後に、フォントスタイルが失われる問題が修正されました。
Bug SPIREPDF-5454 PDF をロードするときに、アプリケーションが一時停止していた問題が修正されました。

Spire.XLS

カテゴリー ID 説明
New feature SPIREXLS-4084 条件付き書式の色の取得をサポートしました。
Color color = cRange.GetConditionFormatsStyle().Color; 
Bug SPIREXLS-718
SPIREXLS-4066
XLS を PDF に変換した後、コンテンツの書式が正しくない問題を修正しました。
Bug SPIREXLS-2073 Linux システムで RichText を取得する際に、アプリケーションが「System.ArgumentException」をスローする問題を修正しました。
Bug SPIREXLS-2308 システム DPI が125%に設定されている場合、グラフをイメージに保存した後に内容が切り取られる問題が修正されました。
Bug SPIREXLS-3036 Excel を PDF に変換した後、改ページが正しくない問題が修正されました。
Bug SPIREXLS-3278 システム DPI が125%に設定されている場合、Excel をイメージに保存した後に内容が不完全になっていた問題が修正されました。
Bug SPIREXLS-4038 グラフをイメージに変換した後、内容が正しくない問題が修正されました。
Bug SPIREXLS-4047 Pdf OLE オブジェクトをExcelに挿入できなかった問題が修正されました。
Bug SPIREXLS-4051 Excel を PDF に変換する際に、アプリケーションが「Shape failing to render」をスローする問題が修正されました。
Bug SPIREXLS-4069 Excel をロード時に、アプリケーションがハングアップしていた問題が修正されました。
Bug SPIREXLS-4087 新しいバージョンでセルが sheet.Range[0,1].Text="=SUM(18,29)" に対して生成した数値書式が、テキストではなく式の計算値である問題が修正されました。
Bug SPIREXLS-4099 Excel をロードする際にアプリケーションが「Element is an invalid XmlNodeType」をスローする問題が修正されました。
Bug SPIREXLS-4100 Excel をイメージに変換した後、コンテンツが失われていた問題が修正されました。
Bug SPIREXLS-4104 日付をセルに挿入すると日付の書式が失われる問題が修正されました。

Spire.Presentation

カテゴリー ID 説明
New feature SPIREPPT-2037 スライドに最初に表示される一致するテキストを検索してスタイルを変更する機能をサポートしました。
Presentation ppt = new Presentation();
            ppt.LoadFromFile(inputFile);
            string text = "create";
            TextRange textRange = ppt.Slides[0].FindFirstTextAsRange(text);
            textRange.Fill.FillType = FillFormatType.Solid;
            textRange.Fill.SolidColor.Color = Color.Red;
            textRange.FontHeight = 28;
            textRange.LatinFont = new TextFont("Times New Roman");
            textRange.IsBold = TriState.True;
            textRange.IsItalic = TriState.True;
            textRange.TextUnderlineType = TextUnderlineType.Double;
            textRange.TextStrikethroughType = TextStrikethroughType.Single;
New feature SPIREPPT-2065 PPTをPDFに変換する際に隠されたスライドを変換しないように設定する機能をサポートしました。
Presentation presentation = new Presentation();
            presentation.LoadFromFile(input);
            presentation.SaveToPdfOption.ContainHiddenSlides = false;
            presentation.SaveToFile(output, FileFormat.PDF);
Bug SPIREPPT-2034 データラベルのフォントサイズと色の設定が機能しない問題が修正されました。
Bug SPIREPPT-2051 PPTをイメージに変換する際にコンテンツが失われていた問題が修正されました。
Bug SPIREPPT-2067 PPTをロードする際に、アプリケーションが「System.ArgumentOutOfRangeException」をスローする問題が修正されました。

Spire.Doc

カテゴリー ID 説明
Bug SPIREDOC-8386 Word を PDF に変換した後、灰色の長方形の左枠が切り取られていた問題が修正されました。
Bug SPIREDOC-8390 Word を PDF に変換した後、一部のコンテンツが失われていた問題が修正されました。

Spire.Spreadsheet

カテゴリー ID 説明
Bug SPREADSHEET-204 Worksheet.Resize メソッドが無効であった問題を修正しました。

Spire.PDF 8.9 のリリースを発表できることを嬉しく思います。このバージョンでは、ブックマークのズームタイプが Brought forward に設定することをサポートしました。また、ハイパーリンクのズームタイプが Brought forward に設定したり、画像を含む電子署名が追加したりすることをサポートしました。また、PDF を印刷した後、テキストの位置が正しくないなどの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDF-5462 ブックマークのズームタイプが Brought forward に設定することをサポートしました。
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
            PdfBookmarkCollection bookmarks = pdf.Bookmarks;
            for(int i = 0; i<bookmarks.Count; i++)
            {
                PdfBookmark bookmark = bookmarks[i];
SetBookmarkAction(bookmark);
            }
            pdf.SaveToFile(outputFile, FileFormat.PDF);

  private void SetBookmarkAction(PdfBookmark bookmark)
{
    PdfDestination dest = bookmark.Destination;
    dest.Mode = PdfDestinationMode.Location;
    dest.Zoom = 0;
    for (int i = 0; i < bookmark.Count; i++)
    {
        PdfBookmark childbookmark = bookmark[i];
        SetBookmarkAction(childbookmark);
    }
}
New feature SPIREPDF-5461 ハイパーリンクのズームタイプが Brought forward に設定することをサポートしました。
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
            PdfAnnotationCollection annotations = pdf.Pages[0].AnnotationsWidget;
            for(int i = 0; i<annotations.Count; i++)
            {
                PdfDocumentLinkAnnotationWidget anno = annotations[i] as PdfDocumentLinkAnnotationWidget;
PdfDestination dest = anno.Destination;
dest.Mode = PdfDestinationMode.Location;
                dest.Zoom = 0;
                anno.Destination = dest;
            }
            pdf.SaveToFile(outputFile, FileFormat.PDF);
            pdf.Close();
New feature SPIREPDF-1126 画像を含む電子署名の追加をサポートしました。
static void Main(string[] args)
{

    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile(@"test.pdf");
    PdfPageBase pagebase = doc.Pages[0];
    X509Certificate2 x509 = new X509Certificate2(@"gary.pfx", "e-iceblue");
    PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(doc, x509);
    IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();
    signatureMaker.MakeSignature("Signature", signatureAppearance);
    doc.SaveToFile(@"new.pdf", Spire.Pdf.FileFormat.PDF);
    doc.Close();
}
public class PdfCustomSignatureAppearance : IPdfSignatureAppearance
{
    public void Generate(PdfCanvas g)
    {
        Image image = Image.FromFile("test.png");
        g.DrawImage(PdfImage.FromImage(image), new PointF(0, 0));
    }
}
Bug SPIREPDF-892 PDF を画像に変換した後、点線の効果が正しくない問題が修正されました。
Bug SPIREPDF-1121 PDF を印刷した後、テキストの位置が正しくない問題が修正されました。
Bug SPIREPDF-1125 画像フィールドが塗りつぶされた PDF ファイルを開く際にエラーが発生していた問題が修正されました。
Bug SPIREPDF-4485 フォームフィールド内のテキストの置換に失敗した問題が修正されました。
Bug SPIREPDF-5439 抽出されたテーブルの内容が正しくない問題が修正されました。
Bug SPIREPDF-5441 テーブルを抽出するときに、アプリケーションが「System.ArgumentException」をスローする問題が修正されました。
Bug SPIREPDF-5444 作成した画像を含む PDF ファイルが MacOS 12.5 で Preview ツールを使ってエラーメッセージを開く問題が修正されました。
Bug SPIREPDF-5456 ドイツ語環境で「pdf.SaveToFile(file)」を実行する際にアプリケーションが「Invalid date string,after year」をスローする問題が修正されました。
Bug SPIREPDF-5466 PDF を画像に変換した後にジオメトリ上の英字が失われていた問題が修正されました。
Bug SPIREPDF-5467 PDF を画像に変換して内容が失われていた問題が修正されました。
ここで Spire.PDF 8.9 をダウンロードする

日常的な仕事では、Word ドキュメントを他のファイル形式に変換するのは非常に一般的な機能です。たとえば、Word ドキュメントを XML に変換してデータを保存し、整理する必要がある場合があります。あるいは場合によっては、インターネット上でグラフィックコンテンツを共有するために Word を SVG に変換する必要がある場合もあります。この記事では、Spire.Doc for Java を使用して Word を XPS、XML、RTF、TXT、SVG に変換する方法を説明します。

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>13.3.0</version>
    </dependency>
</dependencies>

Word を XPS、XML、RTF、TXT、SVG に変換する

詳細な手順は次のとおりです。

  • Document オブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して、サンプルドキュメントをロードします。
  • Document.saveToFile() メソッドを使用して、SVG、RTF、XPS、XML、TXT としてドキュメントを保存します。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.ImageType;

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

public class ConvertWordToOtherFormats {

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

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

        //サンプルドキュメントをロードする
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx");

        //ドキュメントをSVGとして保存する
        doc.saveToFile("output/ToSVG.svg",FileFormat.SVG);

        //ドキュメントをRTFとして保存する
        doc.saveToFile("output/ToRTF.rtf",FileFormat.Rtf);

        //ドキュメントをXPSとして保存する
        doc.saveToFile("output/ToXPS.xps",FileFormat.XPS);

        //ドキュメントをXMLとして保存する.
        doc.saveToFile("output/ToXML.xml",FileFormat.Xml);

        //ドキュメントをTXTとして保存する
        doc.saveToFile("output/ToTXT.txt",FileFormat.Txt);
    }
}

Java:Word を XPS、XML、RTF、TXT、SVG に変換する

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

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

Spire.Office for Java 7.9.9のリリースを発表できることをうれしく思います。今回のアップデートには、いくつかの新機能が含まれています。Spire.Doc for Javaは、Word levelによるWordドキュメントの比較をサポートしました。Spire.Presentation for Javaでは、MathML式を追加したり、印刷ダイアログボックスで印刷範囲を選択したりすることをサポートしました。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。

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

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

Spire.Doc for Java

Category ID Description
New feature SPIREDOC-7817 Word levelによるWordドキュメントの比較をサポートしました。
Document doc1 = new Document();
doc1.loadFromFile(folder + "a.docx");
Document doc2 = new Document();
doc2.loadFromFile(folder + "b.docx");
CompareOptions options = new CompareOptions();
options.setLevel(ComparisonLevel.Word);
doc1.compare(doc2, "E-iceblue",options);
doc1.saveToFile(result, FileFormat.Docx);
Bug SPIREDOC-7268 表の行の高さを自動タイプに設定するときに、DOC形式のドキュメントに保存しても機能しない問題が修正されました。
Bug SPIREDOC- 7835 ディレクトリの更新時にディレクトリの内容が整列していなかった問題が修正されました。
Bug SPIREDOC-8018 WordをPDFに変換する際に、テーブルレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8038 WordをPDFに変換する際に、合計ページ数が正しく表示されなかった問題が修正されました。
Bug SPIREDOC-8092 OleLinkType.Linkを使用してOLEオブジェクトを追加した後、OLEオブジェクトに表示される画像をクリックしたときに埋め込まれたドキュメントを開くことができなかった問題が修正されました。
Bug SPIREDOC-8095 ディレクトリの更新時にページ番号が正しく表示されなかった問題が修正されました。
Bug SPIREDOC-8098 regexでテキストを検索する際に設定した大文字と小文字を区別しないと機能しない問題が修正されました。
Bug SPIREDOC-8162 ディレクトリの更新時にアプリケーションが「NullPointerException」をスローしする問題が修正されました。
Bug SPIREDOC-8190 WordをPDFに変換する際に、テキスト改行が正しくない問題が修正されました。
Bug SPIREDOC-8199 WordをPDFに変換する際に、透かしの回転角度が正しくない問題が修正されました。
Bug SPIREDOC-8200 WordをPDFに変換する際に、アプリケーションが「Argument width[0]or height[0]cannot be less or equal to zero」をスローしする問題が修正されました。
Bug SPIREDOC-8231 WordをPDFに変換する際に、表のスパン・ページが正しくない問題が修正されました。
Bug SPIREDOC-8273 ドキュメントをロードする際に、アプリケーションが「Error reading WMF metafile」をスローしする問題が修正されました。
Bug SPIREDOC-8282 WordをPDFに変換する際に、コンテンツレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8285 docmファイル形式がdocxと認識される問題が修正されました。
Bug SPIREDOC-8303 docmファイルが暗号化されているかどうかを検出した結果が正しくない問題が修正されました。
Bug SPIREDOC-8369 WordをPDFに変換する際に、アプリケーションが「GC overhead limit exceeded」をスローする問題が修正されました。

Spire.Presentation for Java

カテゴリー ID 説明
New feature SPIREPPT-2044 MathML 式の追加をサポートしました。
Presentation ppt = new Presentation();
String mathMLCode="<mml:math xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\">" + "<mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msqrt><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:msqrt><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math>";
IAutoShape shape=ppt.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Float(30,100,400,30));
shape.getTextFrame().getParagraphs().clear();
ParagraphEx tp=shape.getTextFrame().getParagraphs().addParagraphFromMathMLCode(mathMLCode);
ppt.saveToFile(outputFile, FileFormat.PDF);
ppt.dispose();
New feature SPIREPPT-2054 印刷ダイアログボックスで印刷範囲の選択をサポートしました。
Supports    selecting the print range in the Print dialog box.
  Presentation ppt = new Presentation();
        ppt.loadFromFile("C:\\1.pptx");
        PrinterJob printerJob=PrinterJob.getPrinterJob();
        printerJob.setPrintable(ppt);
        printerJob.printDialog();
        printerJob.print();
        ppt.dispose();
Bug SPIREPPT-2036 PPTをA4サイズのPDFに変換する際に、内容が切り取られていた問題が修正されました。
Bug SPIREPPT-2053 PPTをSVGに変換する際にグラデーションが消える問題が修正されました。
Bug SPIREPPT-2055 PPTドキュメントをマージする際にアプリケーションが「NullPointerException」をスローする問題が修正されました。
Bug SPIREPPT-2056 PPTドキュメントをロードする際にアプリケーションが「ArrayIndexOutOfBoundsException」をスローする問題が修正されました。
Bug SPIREPPT-2055 PPTドキュメントを分割する際にアプリケーションが「NullPointerException」をスローする問題が修正されました。

Spire.Doc for Java 10.9.8 のリリースを発表できることを嬉しく思います。このバージョンは、Word level による Word ドキュメントの比較をサポートしました。このリリースでは、Word から PDF への変換機能も強化しました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
Category ID Description
New feature SPIREDOC-7817 Word levelによるWordドキュメントの比較をサポートしました。
Document doc1 = new Document();
doc1.loadFromFile(folder + "a.docx");
Document doc2 = new Document();
doc2.loadFromFile(folder + "b.docx");
CompareOptions options = new CompareOptions();
options.setLevel(ComparisonLevel.Word);
doc1.compare(doc2, "E-iceblue",options);
doc1.saveToFile(result, FileFormat.Docx);
Bug SPIREDOC-7268 表の行の高さを自動タイプに設定するときに、DOC形式のドキュメントに保存しても機能しない問題が修正されました。
Bug SPIREDOC- 7835 ディレクトリの更新時にディレクトリの内容が整列していなかった問題が修正されました。
Bug SPIREDOC-8018 WordをPDFに変換する際に、テーブルレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8038 WordをPDFに変換する際に、合計ページ数が正しく表示されなかった問題が修正されました。
Bug SPIREDOC-8092 OleLinkType.Linkを使用してOLEオブジェクトを追加した後、OLEオブジェクトに表示される画像をクリックしたときに埋め込まれたドキュメントを開くことができなかった問題が修正されました。
Bug SPIREDOC-8095 ディレクトリの更新時にページ番号が正しく表示されなかった問題が修正されました。
Bug SPIREDOC-8098 regexでテキストを検索する際に設定した大文字と小文字を区別しないと機能しない問題が修正されました。
Bug SPIREDOC-8162 ディレクトリの更新時にアプリケーションが「NullPointerException」をスローしする問題が修正されました。
Bug SPIREDOC-8190 WordをPDFに変換する際に、テキスト改行が正しくない問題が修正されました。
Bug SPIREDOC-8199 WordをPDFに変換する際に、透かしの回転角度が正しくない問題が修正されました。
Bug SPIREDOC-8200 WordをPDFに変換する際に、アプリケーションが「Argument width[0]or height[0]cannot be less or equal to zero」をスローしする問題が修正されました。
Bug SPIREDOC-8231 WordをPDFに変換する際に、表のスパン・ページが正しくない問題が修正されました。
Bug SPIREDOC-8273 ドキュメントをロードする際に、アプリケーションが「Error reading WMF metafile」をスローしする問題が修正されました。
Bug SPIREDOC-8282 WordをPDFに変換する際に、コンテンツレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8285 docmファイル形式がdocxと認識される問題が修正されました。
Bug SPIREDOC-8303 docmファイルが暗号化されているかどうかを検出した結果が正しくない問題が修正されました。
Bug SPIREDOC-8369 WordをPDFに変換する際に、アプリケーションが「GC overhead limit exceeded」をスローする問題が修正されました。
ここで Spire.Doc for Java 10.9.8 をダウンロードする