チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
スキャンした PDF ドキュメントは、間違ったページの向き(逆さまなど)で作成されることがあり、読むのに非常に不便なことがあります。 PDF のページを回転させることで、ドキュメントページの向きを揃え、読書体験を最適化することができます。 この記事では、Spire.PDF for Java を使用して、プログラムで PDF ドキュメントのページを回転させる方法を説明します。
まず、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 のページを回転させる場合、回転角度は90度刻みとなります。 回転角度は、0度、90度、180度、270度のいずれかに設定することができます。 以下は、指定した PDF ページを回転させるための詳細な手順です。
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");
}
}
以下は、PDF ドキュメント内の全ページを回転させる手順です。
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 を 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>
ダイナミック フィールド PdfPageNumberField、PdfPageCountField、PdfCompositeField を使用すると、PDF ドキュメントにページ番号を追加することができます。
PdfPageNumberField はページ番号の表示に、PdfPageCountField は総ページ数の表示に、PdfCompositeField は PdfPageNumberField や PdfPageCountField などの2つ以上の動的フィールドを1つのフィールドに結合するために使用されるものです。
PDF ドキュメントに1、2、3のようなページ番号を追加したいだけなら、PdfPageNumberField を使用すればよいでしょう。ページ X/Y のようなページ番号をドキュメントに追加したい場合は、PdfPageNumberField、PdfPageCountField、PdfCompositeField を使用する必要があります。
既存の PDF ドキュメントに「X/Y」のページ番号を追加する方法を説明します。
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");
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.SpreadSheet 7.4.2のリリースを発表できることを嬉しく思います。このバージョンはPDF文書への保存をサポートしています。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | SPREADSHEET-82 | PDF文書への保存がサポートされています。
this.spreadsheet1.SaveToFile("1.pdf", FileFormatType.PDF); |
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の最新バージョンが含まれています。
カテゴリー | 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」をスローする問題が修正されました。 |
カテゴリー | 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」をスローする問題が修正されました。 |
カテゴリー | ID | 説明 |
Bug | SPIREEMAIL-65 | 電子メールの日付情報を正しく読み取れない問題を修正しました。 |
Excel ドキュメントでは、コピーして貼り付けてセルの値を取得できます。また、Java コードで自動的に取得することもできます。この方法は時間の節約と効率の向上だけでなく、間違いを回避することもできます。この記事では、Spire.XLS for Java を使用して Excel でセル名によるセル値を取得する方法を紹介します。
まず、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() メソッドでは、セルの値の取得がサポートされています。具体的な手順は以下の通りです。
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);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word では、透かしは背景に置くことができる半透明のテキストや画像です。この機能は通常、ドキュメント内の重要な内容を強調するために使用されます。例えば、内容が機密であることや下書きであることをユーザーに思い出させるために使用することができます。または、ドキュメントに会社のロゴを含む透かしを追加することもできます。この記事では、Spire.Doc for C++ を使用して C++ で Word 文書にテキストまたは画像の透かしを挿入する方法について説明します。
Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。
Spire.Doc for C++ を C++ アプリケーションに統合する方法
Spire.Doc for C++ はテキスト透かしを表す TextWatermark クラスを提供します。透かしの内容と外観は、その下の方法で設定できます。テキスト透かしを作成したら、Document->SetWatermark() メソッドを使用してドキュメントに適用できます。以下に詳細な手順を示します。
#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;
}
同様に、PictureWatermark クラスを使用して画像透かしを作成することもできます。作成後、Document->SetWatermark() メソッドを使用して Word ドキュメントに適用できます。以下に詳細な手順を示します。
#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;
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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.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 for C++ を使用して C++ で Word 文書に画像を挿入する方法について説明します。
Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。
Spire.Doc for C++ を C++ アプリケーションに統合する方法
Spire.Doc for C++ は、Word 文書に画像を挿入するための Paragraph->AppendPicture() メソッドを提供します。詳細な手順は次のとおりです。
#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;
}
Spire.Doc for C++ は Word に画像の挿入をサポートしています。そして、DocPicture->SetHorizontalPosition() と DocPicture->SetVerticalPosition() メソッドを使用して、画像の位置を設定することができます。詳細な手順は次のとおりです。
#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;
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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」をスローする問題が修正されました。 |