チュートリアル

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

Koohji

Koohji

スキャンした PDF ドキュメントは、間違ったページの向き(逆さまなど)で作成されることがあり、読むのに非常に不便なことがあります。 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.3.11</version>
    </dependency>
</dependencies>

PDF ドキュメント内の特定のページを回転させる

PDF のページを回転させる場合、回転角度は90度刻みとなります。 回転角度は、0度、90度、180度、270度のいずれかに設定することができます。 以下は、指定した PDF ページを回転させるための詳細な手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
  • PdfDocument.getPages().get(pageIndex) メソッドを使用して、指定した PDF ページをパラメータ付きで取得します(初期値は0です)。
  • PdfPageBase.getRotation().getValue() メソッドを使用して、ページの元の回転角度を取得します。
  • 回転角度を元の回転角度に加算します。
  • PdfPageBase.setRotation() メソッドを使用して、新しい回転角度をページに適用します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageRotateAngle;

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

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/予算の概要.pdf");

        //ドキュメントの2ページ目を取得する
        PdfPageBase page = pdf.getPages().get(1);

        //ページの元の回転角度を取得する
        int rotation = page.getRotation().getValue();

        //元の回転角度から時計回りに180度ページを回転させる
        rotation += PdfPageRotateAngle.Rotate_Angle_180.getValue();
        page.setRotation(PdfPageRotateAngle.fromValue(rotation));

        //ドキュメントを保存する
        pdf.saveToFile("ページの回転.pdf");
    }
}

Java:PDF のページを回転させる方法

PDF ドキュメント内の全ページを回転させる

以下は、PDF ドキュメント内の全ページを回転させる手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
  • ドキュメント内のページをループして、各ページを回転させます。
  • PdfDocument.getPages().get() メソッドを使用して、ページを取得します。
  • PdfPageBase.getRotation().getValue() メソッドを使用して、ページの元の回転角度を取得します。
  • 元の回転角度に回転角度を加算します。
  • PdfPageBase.setRotation() メソッドを使用して、新しい回転角度をページに適用します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。
  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageRotateAngle;

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

        //PdfDocumentのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/予算の概要.pdf");

        //ドキュメント内のページをループする
        for(int i = 0; i < pdf.getPages().getCount(); i++) {
            //ページを取得する
            PdfPageBase page = pdf.getPages().get(i);
            //ページの元の回転角度を取得する
            int rotation = page.getRotation().getValue();
            //元の回転角度から時計回りに180度ページを回転させる
            rotation += PdfPageRotateAngle.Rotate_Angle_180.getValue();
            page.setRotation(PdfPageRotateAngle.fromValue(rotation));
        }

        //ドキュメントを保存する
        pdf.saveToFile("すべてのページを回転.pdf");
    }
}

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

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

ページ数の多い 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.3.11</version>
    </dependency>
</dependencies>

既存の PDF ドキュメントにページ番号を追加する

ダイナミック フィールド PdfPageNumberFieldPdfPageCountFieldPdfCompositeField を使用すると、PDF ドキュメントにページ番号を追加することができます。

PdfPageNumberField はページ番号の表示に、PdfPageCountField は総ページ数の表示に、PdfCompositeFieldPdfPageNumberFieldPdfPageCountField などの2つ以上の動的フィールドを1つのフィールドに結合するために使用されるものです。

PDF ドキュメントに1、2、3のようなページ番号を追加したいだけなら、PdfPageNumberField を使用すればよいでしょう。ページ X/Y のようなページ番号をドキュメントに追加したい場合は、PdfPageNumberFieldPdfPageCountFieldPdfCompositeField を使用する必要があります。

既存の PDF ドキュメントに「X/Y」のページ番号を追加する方法を説明します。

  • PdfDocument のインスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
  • PdfPageNumberField のインスタンスを作成します。
  • PdfPageCountField のインスタンスを作成します。
  • PdfCompositeField のインスタンスを作成します。
  • PdfCompositeField.setStringFormat() メソッドを使用して、複合フィールドの文字揃えを設定します。
  • PDF ドキュメント内の各ページをループし、PdfCompositeField.draw() メソッドを使用して、ページの特定の場所に複合フィールドを描画します。
  • PdfDocument.saveToFile() メソッドを使用してドキュメントを保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;

import java.awt.*;

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

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

        //PDFドキュメントを読み込む
        pdf.loadFromFile("C:/英語の問題.pdf");

        //PdfTrueTypeFontインスタンスを作成する
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Gothic UI", Font.PLAIN, 10));

        //PdfPageNumberFieldのインスタンスを作成する
        PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());

        //PdfPageCountFieldのインスタンスを作成する
        PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());

        //PdfCompositeFieldのインスタンスを作成し、ファイルされたページ番号とページ数のフィールドを複合フィールドに追加する
        PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "{0} / {1}", pageNumberField, pageCountField);

        //複合フィールドの文字書式を設定する
        compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));

        //ページをループする
        for(int i = 0; i < pdf.getPages().getCount();i ++)
        {
            PdfPageBase page = pdf.getPages().get(i);
            float x = (float) page.getSize().getWidth()/2 - 20;
            float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
            //各ページに複合フィールドを描画する
            compositeField.draw(page.getCanvas(), x, y);
        }

        //ドキュメントを保存する
        pdf.saveToFile("ページ番号の追加.pdf");
    }
}

Java:既存の PDF ドキュメントにページ番号を追加する方法

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

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

Spire.SpreadSheet 7.4.2のリリースを発表できることを嬉しく思います。このバージョンはPDF文書への保存をサポートしています。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPREADSHEET-82 PDF文書への保存がサポートされています。
this.spreadsheet1.SaveToFile("1.pdf", FileFormatType.PDF);
ここで Spire.Spreadsheet 7.4.2をダウンロードする

Spire.Office 8.4.0のリリースを発表できることを嬉しく思います。このバージョンでは、Spire.Docは線タイプの設定(dashed/dotted)で、Docx 2016とDocx 2019のファイルフォーマットをサポートしています。Spire.PDFはテキストボックスフォームフィールドのフォントサイズを自動的に設定することをサポートしています。Spire.Emailは電子メールの日付情報を正しく読み取れない問題を修正しました。さらに、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

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

DLL Versions:
  • Spire.Doc.dll v11.4.0
  • Spire.Pdf.dll v9.4.0
  • Spire.XLS.dll v13.4.0
  • Spire.Presentation.dll v8.3.2
  • Spire.Email.dll v6.3.2
  • Spire.DocViewer.Forms.dll v8.3.0
  • Spire.PdfViewer.Forms.dll v7.10.0
  • Spire.PdfViewer.Asp.dll v7.10.0
  • Spire.Spreadsheet.dll v7.4.1
  • Spire.OfficeViewer.Forms.dll v8.4.0
  • Spire.Barcode.dll v7.2.1
  • Spire.DataExport.dll v4.8.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 8.4.0をダウンロードする:

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

Spire.Doc

カテゴリー ID 説明
New feature SPIREDOC-5044 線のタイプの設定がサポートされました(dashed/dotted)。
Document doc = new Document();
Section sec = doc.AddSection();
Paragraph para1 = sec.AddParagraph();
ShapeObject shape1 = para1.AppendShape(100, 100, ShapeType.Line);
shape1.FillColor = Color.Purple;
shape1.StrokeColor = Color.Black;
shape1.LineStyle = ShapeLineStyle.Single;
shape1.LineDashing = LineDashing.Dash;
doc.SaveToFile("InsertShapes.docx", Spire.Doc.FileFormat.Docx2013);
New feature SPIREDOC-8280 Docx 2016とDocx 2019のファイルフォーマットがサポートされました。
Spire.Doc.FileFormat.Docx2016
Spire.Doc.FileFormat.Docx2019
Bug SPIREDOC-8289 WordをPDFに変換した後に内容がずれる問題が修正されました。
Bug SPIREDOC-8770 WordをPDFに変換した後に表の内容が失われていた問題が修正されました。
Bug SPIREDOC-8930 文書Aの内容を文書Bにコピーした後の表スタイルが間違っていた問題が修正されました。
Bug SPIREDOC-8958 WordをPDFに変換した後に、改ページが正しくない問題が修正されました。
Bug SPIREDOC-9081 WordをPDFに変換した後に、ヘッダーの内容が正しくない問題が修正されました。
Bug SPIREDOC-9111 WordをPDFに変換する際にアプリケーションが「System.IndexOutOfRangeException」をスローする問題が修正されました。
Bug SPIREDOC-9231 Wordドキュメントをマージする際にアプリケーションが「System.ArgumentException」をスローする問題が修正されました。

Spire.PDF

カテゴリー ID 説明
New feature SPIREPDF-5747 テキストボックスフォームフィールドのフォントサイズを自動的に設定する機能が追加されました。
PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile(input);
            PdfFormWidget formWidget = pdf.Form as PdfFormWidget;
            foreach(PdfField field in formWidget.FieldsWidget.List)
            {
                if(field is PdfTextBoxFieldWidget)
                {
                    PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
                    if(textBoxField.Name == "Name of the Company")
                    {
                        textBoxField.Font = new PdfTrueTypeFont(new Font("Arial", 16), true);
                        textBoxField.FontSizeAuto = true;
                        textBoxField.Text = "e-iceblue";
                    }
                }
            }
            pdf.SaveToFile(output);
Bug SPIREPDF-5785 テキストを置換した後にコンテンツが重複する問題が修正されました。
Bug SPIREPDF-5801 自動調整フォントを設定した後、テキスト効果が正しくない問題が修正されました。
Bug SPIREPDF-5804 Jinrui ReaderとChaoYue Readerで生成されたOFDファイルを開くと、内容が空白になる問題が修正されました。
Bug SPIREPDF-5825 PDFを画像に変換する際のメモリオーバーフローの問題が修正されました。
Bug SPIREPDF-5835 OFDをPDFに変換する際のスタンプが正しく表示されない問題が修正されました。
Bug SPIREPDF-5841 PDFを画像に変換する際にプログラムが「AccessViolationException」をスローする問題が修正されました。
Bug SPIREPDF-5850 新しく追加されたメタデータの値がnullになる問題が修正されました。
Bug SPIREPDF-5852 PdfTrueTypeFontオブジェクトのメモリ解放機構の問題が修正されました。
Bug SPIREPDF-5864 OFDをPDFに変換する際にプログラムが「System.IndexOutOfRangeException」をスローする問題が修正されました。
Bug SPIREPDF-5868 PDFを画像に変換する際の色のレンダリングが正しくない問題が修正されました。
Bug SPIREPDF-5869 「PdfCheckBoxWidgetFieldWidget」のchecked属性が無効になる問題が修正されました。
Bug SPIREPDF-5876 PDFを画像に変換した後に画像内容が失われる問題が修正されました。
Bug SPIREPDF-5881 Galaxy Kylin ARMシステムでPDFのテキストを抽出する際にプログラムが「System.NullPointerException」をスローする問題が修正されました。

Spire.Email

カテゴリー ID 説明
Bug SPIREEMAIL-65 電子メールの日付情報を正しく読み取れない問題を修正しました。

Excel ドキュメントでは、コピーして貼り付けてセルの値を取得できます。また、Java コードで自動的に取得することもできます。この方法は時間の節約と効率の向上だけでなく、間違いを回避することもできます。この記事では、Spire.XLS for Java を使用して Excel でセル名によるセル値を取得する方法を紹介します。

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

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

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

セル名によるセル値を取得する

Spire.XLS for Java が提供する Worksheet.getRange().get() メソッドは、セル名で指定されたセルを取得することをサポートしています。また、CellRange.getValue() メソッドでは、セルの値の取得がサポートされています。具体的な手順は以下の通りです。

  • Workbook インスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して Excel のサンプル ドキュメントを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
  • Worksheet.getRange().get() メソッドを使用して、セル名で特定のセルを取得します。
  • StringBulider インスタンスを作成します。
  • CellRange.getValue() メソッドを使用して特定のセル値を取得します。
  • StringBuilder.append() メソッドを使用してその値を StringBuilder インスタンスに追加します。
  • Java
import com.spire.xls.*;

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

        //Excel のサンプル ドキュメントを読み込む
        workbook.loadFromFile( "sample.xlsx");

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

        //セル名で指定したセルを取得する
        CellRange cell = sheet.getRange().get("D6");
       
        //StringBuilderインスタンスを作成する
        StringBuilder content = new StringBuilder();

        //セル「D 6」の値を取得する
        content.append("The value of cell D6 is: " + cell.getValue()+"\n");
 
        //結果を出力する
        System.out.println(content);
    }
}

Java:Excel でセル名によるセル値を取得する方法

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

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

Word では、透かしは背景に置くことができる半透明のテキストや画像です。この機能は通常、ドキュメント内の重要な内容を強調するために使用されます。例えば、内容が機密であることや下書きであることをユーザーに思い出させるために使用することができます。または、ドキュメントに会社のロゴを含む透かしを追加することもできます。この記事では、Spire.Doc for C++ を使用して C++ で Word 文書にテキストまたは画像の透かしを挿入する方法について説明します。

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

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

Word にテキストの透かしを挿入する

Spire.Doc for C++ はテキスト透かしを表す TextWatermark クラスを提供します。透かしの内容と外観は、その下の方法で設定できます。テキスト透かしを作成したら、Document->SetWatermark() メソッドを使用してドキュメントに適用できます。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して Word ファイルをロードします。
  • TextWatermark オブジェクトを作成します。
  • TextWatermark オブジェクトの下にある方法を使用して、透かしの内容と外観を設定します。
  • Document->SetWatermrak() メソッドを使用して、ドキュメントにテキスト透かしを適用します。
  • Document->SaveToFile() メソッドを使用してドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace Spire::Common;
using namespace std;

int main() {

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

    //Word をロードする	
    document->LoadFromFile(L"sample.docx");

    //TextWatermarkオブジェクトを作成する
    TextWatermark* txtWatermark = new TextWatermark();

    //テキスト透かしの内容と書式を設定する
    txtWatermark->SetText(L"E-ICEBLUE");
    txtWatermark->SetFontSize(40);
    txtWatermark->SetSemitransparent(90);
    txtWatermark->SetFontName(L"Calibri");
    txtWatermark->SetColor(Color::GetBlue());
    txtWatermark->SetLayout(WatermarkLayout::Diagonal);

    //テキスト透かしをドキュメントに適用する
    document->SetWatermark(txtWatermark);

    //ドキュメントを保存する
    document->SaveToFile(L"TextWatermark.docx", FileFormat::Docx2013);
    document->Close();
    delete document;
}

C++:Word にテキストまたは画像の透かしを挿入する方法

Word に画像の透かしを挿入する

同様に、PictureWatermark クラスを使用して画像透かしを作成することもできます。作成後、Document->SetWatermark() メソッドを使用して Word ドキュメントに適用できます。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して Word ファイルをロードします。
  • PictureWatermark オブジェクトを作成します。
  • PictureWatermark オブジェクトの下にあるメソッドを使用して、透かしの画像と外観を設定します。
  • Document->SetWatermrak() メソッドを使用して、ドキュメントに画像の透かしを適用します。
  • Document->SaveToFile() メソッドを使用してドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace Spire::Common;
using namespace std;

int main() {

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

    //Word ファイルをロードする
    document->LoadFromFile(L"sample.docx");

    //PictureWatermarkオブジェクトを作成する
    PictureWatermark* pictureWatermark = new PictureWatermark();

    //透かしの画像を指定する
    pictureWatermark->SetPicture(Image::FromFile(L"image.png"));
    pictureWatermark->SetScaling(100);
    pictureWatermark->SetIsWashout(false);

    //画像透かしをドキュメントに適用する
    document->SetWatermark(pictureWatermark);

    //ドキュメントを保存する 
    document->SaveToFile(L"ImageWatermark.docx", FileFormat::Docx2013);
    document->Close();
    delete document;
}

C++:Word にテキストまたは画像の透かしを挿入する方法

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

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

Spire.XLS 13.4.0のリリースを発表できることを嬉しく思います。今回の更新では、BITXORとISFUNCTION関数がサポートされました。また、ExcelからHTML、画像、PDFへの変換機能およびHTMLからExcelへの変換機能も強化されました。さらに、.xlsmファイルをロードする際にアプリケーションが「missing root element」をスローしたなどの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-4485 BITXOR関数がサポートされました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITXOR(12,58)";
workbook.CalculateAllValue();
workbook.SaveToFile("result.xlsx");
New feature SPIREXLS-4544 ISFUNCTION関数がサポートされました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "ISFORMULA(A1)";
workbook.CalculateAllValue();
workbook.SaveToFile("result.xlsx");
Bug SPIREXLS-265 ExcelをHTMLに変換した後に画像が失われていた問題が修正されました。
Bug SPIREXLS-2059 Excelを画像に変換した後にコンテンツのレイアウトが正しくない問題が修正されました。
Bug SPIREXLS-4507 ExcelをPDFに変換した後に画像が失われていた問題が修正されました。
Bug SPIREXLS-4536 ExcelをHTMLに変換した後、HTMLをExcelに変換すると、コンテンツのレイアウトが正しくない問題を修正しました。
Bug SPIREXLS-4542 Excelのセルをコピーする際にアプリケーションが「System.ArgumentException:Invalid row index」をスローした問題が修正されました。
Bug SPIREXLS-4569 「chartSerieDataFormat.IssSmoothedLine」の設定が無効になっていた問題が修正されました。
Bug SPIREXLS-4570 .xlsmファイルをロードするときにアプリケーションが「missing root element」をスローした問題が修正されました。
Bug SPIREXLS-4583 .xlsbファイルが変更された後に開いた結果ドキュメントのエラーメッセージの問題が修正されました。
ここで Spire.XLS 13.4.0をダウンロードする

Spire.Doc 11.4.0のリリースを発表できることを嬉しく思います。このバージョンでは、線のタイプの設定がサポートされました(dashed/dotted)。Docx 2016とDocx 2019のファイルフォーマットもサポートされました。同時に、今回のアップデートではWordからPDFへの変換機能を強化されました。また、文書Aの内容を文書Bにコピーした後に表のスタイルが間違っていたなどの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-5044 線のタイプの設定がサポートされました(dashed/dotted)。
Document doc = new Document();
Section sec = doc.AddSection();
Paragraph para1 = sec.AddParagraph();
ShapeObject shape1 = para1.AppendShape(100, 100, ShapeType.Line);
shape1.FillColor = Color.Purple;
shape1.StrokeColor = Color.Black;
shape1.LineStyle = ShapeLineStyle.Single;
shape1.LineDashing = LineDashing.Dash;
doc.SaveToFile("InsertShapes.docx", Spire.Doc.FileFormat.Docx2013);
New feature SPIREDOC-8280 Docx 2016とDocx 2019のファイルフォーマットがサポートされました。
Spire.Doc.FileFormat.Docx2016
Spire.Doc.FileFormat.Docx2019
Bug SPIREDOC-8289 WordをPDFに変換した後に内容がずれる問題が修正されました。
Bug SPIREDOC-8770 WordをPDFに変換した後に表の内容が失われていた問題が修正されました。
Bug SPIREDOC-8930 文書Aの内容を文書Bにコピーした後の表スタイルが間違っていた問題が修正されました。
Bug SPIREDOC-8958 WordをPDFに変換した後に、改ページが正しくない問題が修正されました。
Bug SPIREDOC-9081 WordをPDFに変換した後に、ヘッダーの内容が正しくない問題が修正されました。
Bug SPIREDOC-9111 WordをPDFに変換する際にアプリケーションが「System.IndexOutOfRangeException」をスローする問題が修正されました。
Bug SPIREDOC-9231 Wordドキュメントをマージする際にアプリケーションが「System.ArgumentException」をスローする問題が修正されました。
ここで Spire.Doc 11.4.0をダウンロードする

画像は、ドキュメントに視覚的な多様性を追加し、テキストだけでは表現しきれない複雑な概念や感情などの情報を伝えることができます。これは文書を分かりやすく、魅力的で記憶に残るものにするための強力なツールです。レポートやマーケティングドキュメントを作成する場合でも、画像を挿入することで読者とのコミュニケーションを強化し、印象に残るドキュメントを作成できます。この記事では、Spire.Doc for C++ を使用して C++ で Word 文書に画像を挿入する方法について説明します。

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

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

Word 文書に画像を挿入する

Spire.Doc for C++ は、Word 文書に画像を挿入するための Paragraph->AppendPicture() メソッドを提供します。詳細な手順は次のとおりです。

  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;
using namespace Spire::Common;

int main()
{
	//Documentクラスのインスタンスを初期化する
	Document* document = new Document();

	//セクションを追加する
	Section* section = document->AddSection();	

	//最初の段落を追加する	
	Paragraph* paragraph1 = section->AddParagraph();
	//段落にテキストを追加してフォーマットを設定する
	TextRange* tr = paragraph1->AppendText(L"Spire.Doc for C++ は、Word 文書を操作するための C++ クラスライブラリです。開発者が Microsoft Word 文書を迅速かつ容易に作成、編集、変換、比較できるように設計されています。");
	tr->GetCharacterFormat()->SetFontName(L"Yu Mincho ");
	tr->GetCharacterFormat()->SetFontSize(11.0f);
	paragraph1->GetFormat()->SetLineSpacing(20.0f);
	paragraph1->GetFormat()->SetAfterSpacing(10.0f);

	//2 つの段落を追加する
	Paragraph* paragraph2 = section->AddParagraph();
	//段落にテキストを追加してフォーマットを設定する
	tr = paragraph2->AppendText(L"独立した Word C++ コントロールとして、Spire.Doc for C++ は、それが実行されるシステム(サーバーまたはクライアント)に Microsoft Word がインストールされている必要はありませんが、Microsoft Word 文書の操作を任意の開発者の C++ アプリケーションに統合することができます。");
	tr->GetCharacterFormat()->SetFontName(L"Yu Mincho ");
	tr->GetCharacterFormat()->SetFontSize(11.0f);
	paragraph2->GetFormat()->SetLineSpacing(20.0f);

	//画像をロードする
	Spire::Common::Image* image = Image::FromFile(L"image.png");
	//画像を最初の段落に追加する
	DocPicture* picture = paragraph1->AppendPicture(image);
	//画像の幅と高さを設定する
	picture->SetWidth(100);
	picture->SetHeight(100);
	//画像の折り返し種類を設定する	
	picture->SetTextWrappingStyle(TextWrappingStyle::Tight);

	//結果ドキュメントを保存する
	document->SaveToFile(L"InsertImage.docx", FileFormat::Docx2013);
	document->Close();
	delete document;
}

C++:Word 文書に画像を挿入する方法

Word 文書の指定した位置に画像を挿入する

Spire.Doc for C++ は Word に画像の挿入をサポートしています。そして、DocPicture->SetHorizontalPosition()DocPicture->SetVerticalPosition() メソッドを使用して、画像の位置を設定することができます。詳細な手順は次のとおりです。

  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;
using namespace Spire::Common;

int main()
{
	//Documentクラスのインスタンスを初期化する
	Document* document = new Document();

	//セクションを追加する
	Section* section = document->AddSection();

	//セクションに段落を追加する
	Paragraph* paragraph = section->AddParagraph();
	//段落にテキストを追加してフォーマットを設定する
	TextRange* tr = paragraph->AppendText(L"この例では、Word内の指定された場所に画像を挿入する方法を示します。");
	tr->GetCharacterFormat()->SetFontName(L"Yu Mincho");
	paragraph->ApplyStyle(BuiltinStyle::Heading2);

	//画像をロードする
	Spire::Common::Image* image = Image::FromFile(L"image.png");
	//画像を段落に追加する
	DocPicture* picture = paragraph->AppendPicture(image);

	//画像のサイズを設定する
	picture->SetWidth(100);
	picture->SetHeight(100);

	//画像の位置を設定する
	picture->SetHorizontalPosition(180.0F);
	picture->SetVerticalPosition(60.0F);

	//画像の折り返し種類を設定する (折り返し種類が「Inline」の場合、位置を設定できません。)
	picture->SetTextWrappingStyle(TextWrappingStyle::Through);

	//結果ドキュメントを保存する
	document->SaveToFile(L"InsertImageAtSpecifiedLocation.docx", FileFormat::Docx);
	document->Close();
	delete document;
}

C++:Word 文書に画像を挿入する方法

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

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

Spire.PDF 9.4.0のリリースを発表できることを嬉しく思います。このバージョンでは、テキストボックスフォームフィールドのフォントサイズを自動的に設定する機能が追加されました。また、今回の更新では、OFDからPDF、PDFから画像への変換機能も強化されました。さらに、テキストを置換した後にコンテンツが重複するなどの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDF-5747 テキストボックスフォームフィールドのフォントサイズを自動的に設定する機能が追加されました。
PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile(input);
            PdfFormWidget formWidget = pdf.Form as PdfFormWidget;
            foreach(PdfField field in formWidget.FieldsWidget.List)
            {
                if(field is PdfTextBoxFieldWidget)
                {
                    PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
                    if(textBoxField.Name == "Name of the Company")
                    {
                        textBoxField.Font = new PdfTrueTypeFont(new Font("Arial", 16), true);
                        textBoxField.FontSizeAuto = true;
                        textBoxField.Text = "e-iceblue";
                    }
                }
            }
            pdf.SaveToFile(output);
Bug SPIREPDF-5785 テキストを置換した後にコンテンツが重複する問題が修正されました。
Bug SPIREPDF-5801 自動調整フォントを設定した後、テキスト効果が正しくない問題が修正されました。
Bug SPIREPDF-5804 Jinrui ReaderとChaoYue Readerで生成されたOFDファイルを開くと、内容が空白になる問題が修正されました。
Bug SPIREPDF-5825 PDFを画像に変換する際のメモリオーバーフローの問題が修正されました。
Bug SPIREPDF-5835 OFDをPDFに変換する際のスタンプが正しく表示されない問題が修正されました。
Bug SPIREPDF-5841 PDFを画像に変換する際にプログラムが「AccessViolationException」をスローする問題が修正されました。
Bug SPIREPDF-5850 新しく追加されたメタデータの値がnullになる問題が修正されました。
Bug SPIREPDF-5852 PdfTrueTypeFontオブジェクトのメモリ解放機構の問題が修正されました。
Bug SPIREPDF-5864 OFDをPDFに変換する際にプログラムが「System.IndexOutOfRangeException」をスローする問題が修正されました。
Bug SPIREPDF-5868 PDFを画像に変換する際の色のレンダリングが正しくない問題が修正されました。
Bug SPIREPDF-5869 「PdfCheckBoxWidgetFieldWidget」のchecked属性が無効になる問題が修正されました。
Bug SPIREPDF-5876 PDFを画像に変換した後に画像内容が失われる問題が修正されました。
Bug SPIREPDF-5881 Galaxy Kylin ARMシステムでPDFのテキストを抽出する際にプログラムが「System.NullPointerException」をスローする問題が修正されました。
ここで Spire.PDF 9.4.0をダウンロードする