チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Spire.Presentation for Java 7.6.3 のリリースを発表できることを嬉しく思います。このバージョンは、フォーマット変換用のデフォルトの代替フォントの設定をサポートしました。また、PowerPoint から画像への変換も強化されました。さらに、カスタムフォントファイルを設定するときにアプリケーションが「ArrayIndexOutOfBoundsException」をスローする問題を修正しました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | SPIREPPT-1848 | フォーマット変換用のデフォルトの代替フォントの設定をサポートしました。
Presentation.setDefaultFontName("Arial"); Presentation ppt = new Presentation(); ppt.loadFromFile(inputFile); ppt.saveToFile(outputFile, FileFormat.PDF); //ドキュメント変換のデフォルトフォントをリセットするために使用される Presentation.resetDefaultFontName(); |
New feature | SPIREPPT-1962 | PowerPointでの画像のトリミングをサポートしました。
SlidePicture slidePicture= (SlidePicture) presentation.getSlides().get(0).getShapes().get(0); //切り抜き開始座標は、元の画像の位置に応じて調整される slidePicture.crop(slidePicture.getLeft()+50f,slidePicture.getTop()+50f,100f,200f); |
Bug | SPIREPPT-1945 | カスタムフォントファイルを設定するときにアプリケーションが「ArrayIndexOutOfBoundsException」をスローする問題を修正しました。 |
Bug | SPIREPPT-1959 | PowerPointを画像に変換する際のメモリ消費を最適化しました。 |
コメントは、追加情報を提供したり、ドキュメント内の何かに注意を引くために使用されます。コメントされているテキストも役立つ場合があり、他の目的でそれを抽出したい場合があります。この記事では、Spire.Doc for Java を使用して、Word 文書の 2 つのコメントマークの間のテキストを抽出する方法を紹介します。
まず、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>4.11.8</version>
</dependency>
</dependencies>
開始マーク(CommentMarkStart クラスで表される)と終了マーク(CommentMarkEnd クラスで表される)の間のテキストを取得するには、コメントマークのインデックスを取得する必要があります。これらのインデックスは、段落でマークされているテキストの位置を指定します。以下は、Word 文書で 2 つのコメントマーク内にテキストを入れる詳細な手順です。
import com.spire.doc.Document;
import com.spire.doc.documents.CommentMark;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Comment;
import com.spire.doc.fields.TextRange;
public class GetTextInsideCommentMarkers {
public static void main(String[] args) {
//Documentオブジェクトを作成する
Document doc = new Document();
//サンプルのWord文書をロードする
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");
//最初のコメントを取得する
Comment comment = doc.getComments().get(0);
//コメントの開始マークと終了マークを取得する
Paragraph para = comment.getOwnerParagraph();
CommentMark start = comment.getCommentMarkStart();
CommentMark end = comment.getCommentMarkEnd();
//開始マークのインデックスと終了マークのインデックスをそれぞれ取得する
int indexOfStart = para.getChildObjects().indexOf(start);
int indexOfEnd = para.getChildObjects().indexOf(end);
//文字列変数を宣言する
String textMarked = "";
//2つのインデックス間の数値をループする
for (int i = indexOfStart + 1; i < indexOfEnd; i++) {
if (para.getChildObjects().get(i) instanceof TextRange) {
//インデックスで指定されたテキスト範囲を取得する
TextRange range = (TextRange) para.getChildObjects().get(i);
//テキスト範囲からテキストを取得する
textMarked += range.getText();
}
}
//マークされているテキストを印刷する
System.out.println(textMarked);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
画像透かしは通常、デジタルドキュメントの背景に表示されるロゴまたはサインであり、コンテンツの著作権所有者を示します。PDF ドキュメントに画像で透かしを入れると、データの再利用や変更を防ぐことができます。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF に画像透かしを追加する方法を示します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
以下は、PDF ドキュメントに画像透かしを追加するための主な手順です。
using Spire.Pdf;
using System.Drawing;
namespace AddImageWatermark
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成する
PdfDocument document = new PdfDocument();
//サンプルPDFドキュメントをロードする
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
//画像を読み込む
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
//画像の幅と高さを取得する
int imgWidth = image.Width;
int imgHeight = image.Height;
//ページをループする
for (int i = 0; i < document.Pages.Count; i++)
{
//ページの幅と高さを取得する
float pageWidth = document.Pages[i].ActualSize.Width;
float pageHeight = document.Pages[i].ActualSize.Height;
//背景の不透明度を設定する
document.Pages[i].BackgroudOpacity = 0.3f;
//現在のページの背景画像を設定する
document.Pages[i].BackgroundImage = image;
//背景画像をページの中央に配置する
Rectangle rect = new Rectangle((int)(pageWidth - imgWidth) / 2, (int)(pageHeight - imgHeight) / 2, imgWidth, imgHeight);
document.Pages[i].BackgroundRegion = rect;
}
//ドキュメントをファイルに保存する
document.SaveToFile("AddImageWatermark.pdf");
document.Close();
}
}
}
Imports Spire.Pdf
Imports System.Drawing
Namespace AddImageWatermark
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentオブジェクトを作成する
Dim document As PdfDocument = New PdfDocument()
'サンプルPDFドキュメントをロードする
document.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
'画像を読み込む
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\logo.png")
'画像の幅と高さを取得する
Dim imgWidth As Integer = image.Width
Dim imgHeight As Integer = image.Height
'ページをループする
Dim i As Integer
For i = 0 To document.Pages.Count- 1 Step i + 1
'ページの幅と高さを取得する
Dim pageWidth As single = document.Pages(i).ActualSize.Width
Dim pageHeight As single = document.Pages(i).ActualSize.Height
'背景の不透明度を設定する
document.Pages(i).BackgroudOpacity = 0.3f
'現在のページの背景画像を設定する
document.Pages(i).BackgroundImage = image
'背景画像をページの中央に配置する
Dim rect As Rectangle = New Rectangle(CType((pageWidth - imgWidth) / 2,(Integer)(pageHeight - imgHeight) / 2,imgWidth,imgHeight, Integer))
document.Pages(i).BackgroundRegion = rect
Next
'ドキュメントをファイルに保存する
document.SaveToFile("AddImageWatermark.pdf")
document.Close()
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF ドキュメントが不正に使用されるのを防ぐために、テキストまたは画像でドキュメントに透かしを入れることができます。この記事では、Spire.PDF for .NET を使用して、C# および VB.NET の PDF にテキスト透かし(単一行および複数行の透かし)をプログラムで追加する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF は、PDF ファイルの透かしを処理するためのインターフェイスまたはクラスを提供していません。ただし、透かし効果を模倣するために、各ページに「機密」、「内部使用」、「ドラフト」などのテキストを描画することはできます。以下は、PDF ドキュメントのすべてのページにテキスト透かしを追加するための主な手順です。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace AddTextWatermarkToPdf
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//サンプルPDFドキュメントをロードする
pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
//PdfTrueTypeFontオブジェクトを作成する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 50f), true);
//透かしテキストを設定する
string text = "CONFIDENTIAL";
//テキストサイズを測定する
SizeF textSize = font.MeasureString(text);
//座標系の平行移動量を計算するために使用される2つのオフセット変数の値を計算する
float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4);
float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4);
//ドキュメント内のすべてのページをトラバースする
foreach (PdfPageBase page in pdf.Pages)
{
//ページの透明度を設定する
page.Canvas.SetTransparency(0.8f);
//指定された座標で座標系を変換する
page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2);
//座標系を反時計回りに45度回転する
page.Canvas.RotateTransform(-45);
//ページに透かしテキストを描画する
page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0);
}
//変更を別のファイルに保存する
pdf.SaveToFile("TextWatermark.pdf");
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Namespace AddTextWatermarkToPdf
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentオブジェクトを作成する
Dim pdf As PdfDocument = New PdfDocument()
'サンプルPDFドキュメントをロードする
pdf.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
'PdfTrueTypeFontオブジェクトを作成する
Dim font As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Arial",50f),True)
'透かしテキストを設定する
Dim text As String = "CONFIDENTIAL"
'テキストサイズを測定する
Dim textSize As SizeF = font.MeasureString(text)
'座標系の平行移動量を計算するために使用される2つのオフセット変数の値を計算する
Dim offset1 As single = CType((textSize.Width * System.Math.Sqrt(2) / 4), single)
Dim offset2 As single = CType((textSize.Height * System.Math.Sqrt(2) / 4), single)
'ドキュメント内のすべてのページをトラバースする
Dim page As PdfPageBase
For Each page In pdf.Pages
'ページの透明度を設定する
page.Canvas.SetTransparency(0.8f)
'指定された座標で座標系を変換する
page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2)
'座標系を反時計回りに45度回転する
page.Canvas.RotateTransform(-45)
'ページに透かしテキストを描画する
page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0)
Next
'変更を別のファイルに保存する
pdf.SaveToFile("TextWatermark.pdf")
End Sub
End Class
End Namespace
ドキュメントに複数行のテキスト透かしを追加したい場合があります。 タイル透かし効果を実現するには、PdfTilingBrush クラスを使用できます。このクラスは、グラフィック領域を埋めるために繰り返されるタイルパターンを生成します。 以下は、PDF ドキュメントに複数行の透かしを追加するための主な手順です。
using System;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace AddMultiLineTextWatermark
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//サンプルPDFドキュメントをロードする
pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
//PdfTrueTypeFontオブジェクトを作成する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 20f), true);
//すべてのページをトラバースする
for (int i = 0; i < pdf.Pages.Count; i++)
{
//InsertMultiLineTextWatermark()メソッドを呼び出して、指定したページにテキスト透かしを追加する
InsertMultiLineTextWatermark(pdf.Pages[i], "E-ICEBLUE CO LTD", font, 3, 3);
}
//ドキュメントを別のファイルに保存する
pdf.SaveToFile("MultiLineTextWatermark.pdf");
}
//複数行のテキスト透かしをページに挿入するカスタムメソッドを作成する
static void InsertMultiLineTextWatermark(PdfPageBase page, String watermarkText, PdfTrueTypeFont font, int rowNum, int columnNum)
{
//テキストサイズを測定する
SizeF textSize = font.MeasureString(watermarkText);
//座標系の移動量の計算に使用される2つのオフセット変数の値を計算する
float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4);
float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4);
//タイルブラシを作成する
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.ActualSize.Width / columnNum, page.ActualSize.Height / rowNum));
brush.Graphics.SetTransparency(0.3f);
brush.Graphics.Save();
brush.Graphics.TranslateTransform(brush.Size.Width / 2 - offset1 - offset2, brush.Size.Height / 2 + offset1 - offset2);
brush.Graphics.RotateTransform(-45);
//タイルブラシに透かしテキストを描画する
brush.Graphics.DrawString(watermarkText, font, PdfBrushes.Violet, 0, 0);
brush.Graphics.Restore();
//タイルブラシを使用して(ページ全体をカバーする)長方形を描画する
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.ActualSize));
}
}
}
Imports System
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Namespace AddMultiLineTextWatermark
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentインスタンスを作成する
Dim pdf As PdfDocument = New PdfDocument()
'サンプルPDFドキュメントをロードする
pdf.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
'PdfTrueTypeFontオブジェクトを作成する
Dim font As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Arial",20f),True)
'すべてのページをトラバースする
Dim i As Integer
For i = 0 To pdf.Pages.Count- 1 Step i + 1
'InsertMultiLineTextWatermark()メソッドを呼び出して、指定したページにテキスト透かしを追加する
InsertMultiLineTextWatermark(pdf.Pages(i), "E-ICEBLUE CO LTD", font, 3, 3)
Next
'ドキュメントを別のファイルに保存する
pdf.SaveToFile("MultiLineTextWatermark.pdf")
End Sub
'複数行のテキスト透かしをページに挿入するカスタムメソッドを作成する
Shared Sub InsertMultiLineTextWatermark(ByVal page As PdfPageBase, ByVal watermarkText As String, ByVal font As PdfTrueTypeFont, ByVal rowNum As Integer, ByVal columnNum As Integer)
'テキストサイズを測定する
Dim textSize As SizeF = font.MeasureString(watermarkText)
'座標系の移動量の計算に使用される2つのオフセット変数の値を計算する
Dim offset1 As single = CType((textSize.Width * System.Math.Sqrt(2) / 4), single)
Dim offset2 As single = CType((textSize.Height * System.Math.Sqrt(2) / 4), single)
'タイルブラシを作成する
Dim brush As PdfTilingBrush = New PdfTilingBrush(New SizeF(page.ActualSize.Width / columnNum,page.ActualSize.Height / rowNum))
brush.Graphics.SetTransparency(0.3f)
brush.Graphics.Save()
brush.Graphics.TranslateTransform(brush.Size.Width / 2 - offset1 - offset2, brush.Size.Height / 2 + offset1 - offset2)
brush.Graphics.RotateTransform(-45)
'タイルブラシに透かしテキストを描画する
brush.Graphics.DrawString(watermarkText, font, PdfBrushes.Violet, 0, 0)
brush.Graphics.Restore()
'タイルブラシを使用して(ページ全体をカバーする)長方形を描画する
page.Canvas.DrawRectangle(brush, New RectangleF(New PointF(0, 0), page.ActualSize))
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
XPS(XML Paper Specification)は、共有および公開の目的で設計された固定レイアウトのドキュメント形式です。この形式は元々 PDF ファイル形式に代わる試みとして作成されましたが、いくつかの理由で失敗しました。とにかく、XPS ファイル形式がまだ使用されている場合もあり、Excel ファイルを XPS ファイルに変換する必要がある場合もあります。この記事では、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>4.11.2</version>
</dependency>
</dependencies>
Spire.XLS for Java が提供する Workbook.saveToFile() メソッドを使用すると、わずか数行のコードで Excel ファイルを XPS に簡単に変換できます。詳細な手順は次のとおりです。
import com.spire.xls.*;
public class toXPS {
public static void main(String[] args) {
//ワークブックインスタンスを作成する
Workbook workbook = new Workbook();
//Excelドキュメントをロードする
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.xlsx");
//ExcelをXPSに変換する
workbook.saveToFile("ToXPS.xps", FileFormat.XPS);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.XLS 12.6.1 のリリースを発表できることを嬉しく思います。このバージョンは、行と列にスタイルを適用するかどうかの設定をサポートするインターフェースを提供しました。また、Excel から PDF への変換機能を強化しました。その他、新しいバージョンで Excel に画像を挿入した後にぼやけた効果を引き起こすなどの既知の問題を修正しました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | SPIREXLS-3812 | 行と列にスタイルを適用するかどうかの設定をサポートするインターフェースを提供しました。
worksheet.ApplyStyle(style, applyRowStyle, applyColumnStyle) |
Bug | SPIREXLS-3888 | PDF に変換した後、カスタム形式のセルのコンテンツが正しくなかった問題を修正しました。 |
Bug | SPIREXLS-3890 | PDF に変換した後、コンテンツにキャリッジが含まれているヘッダーの高さが正しくない問題を修正しました。 |
Bug | SPIREXLS-3900 | シートを別のブックにコピーした後、ボタンとVBAの関連付けが失われる問題を修正しました。 |
Bug | SPIREXLS-3901 | Excel を PDF に変換した後、ピボットテーブルのデータが正しくなかった問題を修正しました。 |
Bug | SPIREXLS-3908 | 新しいバージョンの Excel に画像を挿入した後にぼやけた効果が発生する問題を修正しました。 |
Bug | SPIREXLS-3909 | 連続していない範囲で namedrange の範囲を取得できなかった問題を修正しました。 |
時々、人たちは自分の好みに合わせて、Word 文書を印刷したい場合があります。たとえば、ファイルをカスタム用紙サイズで印刷して、より個人的に設定することができます。 この記事では、Spire.Doc for.NET を使用してこの機能を実現する方法をご紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
次の表は、今回のシナリオで使用されるコアクラス、メソッド、およびプロパティのリストです。
名称 | 説明 |
Document Class | Word のドキュメントモデルを表します。 |
PaperSize Class | 紙一枚のサイズを指定します。 |
PrintDocument Class | Windows フォームアプリケーションから印刷するときに、出力をプリンターに送信する再利用可能なオブジェクトを定義します。 |
PrintDocument.DefaultPageSettings Property | 印刷するすべてのページのデフォルトとして使用されるページ設定を取得または設定します。 |
Document.PrintDocument Property | PrintDocument オブジェクトを取得します。 |
DefaultPageSettings.PaperSize Property | カスタム用紙サイズを設定します。 |
Document.LoadFromFile() Method | サンプルドキュメントをロードします。 |
PrintDocument.Print() Method | ドキュメントを印刷します。 |
Word をカスタム用紙サイズに印刷する手順は次のとおりです。
using Spire.Doc;
using System.Drawing.Printing;
namespace PrintWord
{
class Program
{
static void Main(string[] args)
{
//Documentオブジェクトをインスタンス化する
Document doc = new Document();
//ドキュメントをロードする
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.docx");
//PrintDocumentオブジェクトを取得する
PrintDocument printDoc = doc.PrintDocument;
//用紙サイズをカスタマイズする
printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 900, 800);
//ドキュメントを印刷する
printDoc.Print();
}
}
}
Imports Spire.Doc
Imports System.Drawing.Printing
Namespace PrintWord
Class Program
Shared Sub Main(ByVal args() As String)
'Documentオブジェクトをインスタンス化する
Document doc = New Document()
'ドキュメントをロードする
doc.LoadFromFile("C:\Users\Administrator\Desktop\Sample.docx")
'PrintDocumentオブジェクトを取得する
Dim printDoc As PrintDocument = doc.PrintDocument
'用紙サイズをカスタマイズする
printDoc.DefaultPageSettings.PaperSize = New PaperSize("custom", 900, 800)
'ドキュメントを印刷する
printDoc.Print()
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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>5.2.3</version>
</dependency>
</dependencies>
次の手順は、PDF ドキュメントの特定の位置とその終わりに空のページを追加する方法を示しています。
import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfMargins;
public class InsertEmptyPage {
public static void main(String[] args) {
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//サンプルPDFドキュメントをロードする
pdf.loadFromFile("C: \\Users\\Administrator\\Desktop\\sample.pdf");
//2番目のページとしてドキュメントに空白のページを挿入する
pdf.getPages().insert(1);
//ドキュメントの最後に空のページを追加する
pdf.getPages().add(PdfPageSize.A4, new PdfMargins(0, 0));
//ドキュメントを別のファイルに保存する
pdf.saveToFile("output/insertEmptyPage.pdf");
pdf.close();
}
}
次の手順は、PDF ドキュメントの特定のページを削除することです。
import com.spire.pdf.*;
public class DeletePage {
public static void main(String[] args) {
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//サンプルPDFドキュメントをロードする
pdf.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//ドキュメントの2ページ目を削除する
pdf.getPages().removeAt(1);
//ドキュメントを別のファイルに保存する
pdf.saveToFile("output/deletePage.pdf");
pdf.close();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書のブックマークは、文書内の特定のセクションに迅速に移動するために便利です。ブックマークを使用すると、文書内に「マーカー」を作成して名前を付け、簡単にジャンプすることができます。これは、特に長い文書や複雑な文書を扱う際に役立ちます。
この記事では、C# で Spire.Doc for .NET ライブラリを使用して、Word 文書にブックマークを追加および削除する方法を説明します。
まず、Spire.Doc for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc を使用して、段落の先頭に BookmarkStart オブジェクトを挿入し、段落の終わりに BookmarkEnd オブジェクトを挿入することで、段落にブックマークを作成できます。ブックマークの開始点と終了点の間のスペースが定義されたブックマークとなり、必要に応じて参照・アクセスすることができます。
段落にブックマークを追加する手順は以下の通りです。
using Spire.Doc;
using Spire.Doc.Documents;
namespace AddBookmarkToParagraph
{
class Program
{
static void Main(string[] args)
{
// Documentオブジェクトを作成
Document doc = new Document();
// Wordファイルをロード
doc.LoadFromFile("Sample.docx");
// 指定された段落を取得
Paragraph paragraph = doc.Sections[0].Paragraphs[1];
// ブックマークの開始を作成
BookmarkStart start = paragraph.AppendBookmarkStart("段落ブックマーク");
// 段落の最初に挿入
paragraph.Items.Insert(0, start);
// 段落の最後にブックマークの終了を追加
paragraph.AppendBookmarkEnd("段落ブックマーク");
// ファイルを保存
doc.SaveToFile("output/段落にブックマークを追加.docx", FileFormat.Docx2019);
// リソースを解放
doc.Dispose();
}
}
}
特定のテキストにブックマークを追加するには、まず段落内のテキストとその位置を見つける必要があります。次に、テキストの前に BookmarkStart オブジェクトを、テキストの後ろに BookmarkEnd オブジェクトを挿入します。
Spire.Doc を使用して段落内の特定のテキストにブックマークを追加する手順は以下の通りです。
using Spire.Doc;
using Spire.Doc.Documents;
namespace AddBookmarkToText
{
class Program
{
static void Main(string[] args)
{
// Documentオブジェクトを作成
Document doc = new Document();
// Wordファイルをロード
doc.LoadFromFile("Sample.docx");
// 検索する文字列を指定
string stringToFind = "不換紙幣";
// ドキュメントから選択されたテキストを検索
TextSelection[] finds = doc.FindAllString(stringToFind, false, true);
TextSelection specificText = finds[0];
// テキストがある段落を見つける
Paragraph para = specificText.GetAsOneRange().OwnerParagraph;
// 段落内のテキストのインデックスを取得
int index = para.ChildObjects.IndexOf(specificText.GetAsOneRange());
// ブックマークの開始を作成
BookmarkStart start = para.AppendBookmarkStart("テキストブックマーク");
// インデックス位置にブックマークの開始を挿入
para.ChildObjects.Insert(index, start);
// ブックマークの終了を作成
BookmarkEnd end = para.AppendBookmarkEnd("テキストブックマーク");
// 選択されたテキストの最後にブックマークの終了を挿入
para.ChildObjects.Insert(index + 2, end);
// ドキュメントを別のファイルに保存
doc.SaveToFile("output/ブックマークをテキストに追加.docx", FileFormat.Docx2019);
// リソースを解放
doc.Dispose();
}
}
}
Word 文書から特定のブックマークまたはすべてのブックマークを削除するには、Bookmarks.Remove() メソッドまたは Bookmarks.Clear() メソッドを使用します。詳細な手順は以下の通りです。
using Spire.Doc;
namespace RemoveBookmarks
{
class Program
{
static void Main(string[] args)
{
// Documentオブジェクトを作成
Document doc = new Document();
// Wordファイルをロード
doc.LoadFromFile("output/ブックマークをテキストに追加.docx");
// インデックスで特定のブックマークを取得
Bookmark bookmark = doc.Bookmarks[0];
// ブックマークを削除
doc.Bookmarks.Remove(bookmark);
// すべてのブックマークを一度に削除
// doc.Bookmarks.Clear();
// ドキュメントを保存
doc.SaveToFile("output/ブックマークを削除.docx", FileFormat.Docx2019);
// リソースを解放
doc.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
表は、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>4.9.0</version>
</dependency>
</dependencies>
次のテーブルに、表の作成とフォーマットを担当するコアクラスとメソッドの一部を示します。
名前 | 説明 |
Table Class | Word文書の表を表します。 |
TableRow Class | テーブルの行を表します。 |
TableCell Class | テーブル内の特定のセルを表します。 |
Section.addTbale() Method | 指定されたセクションに新しいテーブルを追加します。 |
Table.resetCells() Method | 行番号と列番号をリセットします。 |
Table.getRows() Method | テーブルの行を取得します。 |
TableRow.setHeight() Method | 指定した行の高さを設定します。 |
TableRow.getCells() Method | セルコレクションを返します。 |
TableRow.getFormat() Method | 指定された行の形式を取得します。 |
以下は、Word文書に簡単な表を作成する手順です。
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class CreateTable {
public static void main(String[] args) {
//Documentオブジェクトを作成する
Document document = new Document();
//セクションを追加する
Section section = document.addSection();
//表のデータを定義する
String[] header = {"国家名", "首都", "大陸", "地域番号", "人口"};
String[][] data =
{
new String[]{"アルゼンチン", "ブエノスアイレス", "南米", "2777815", "32300003"},
new String[]{"ボリビア", "ラパス", "南米", "1098575", "7300000"},
new String[]{"ブラジル", "ブラジリア", "南米", "8511196", "150400000"},
new String[]{"カナダ", "オタワ", "北米", "9976147", "26500000"},
new String[]{"チリ", "サンティアゴ", "南米", "756943", "13200000"},
new String[]{"コロンビア", "ボゴタ", "南米", "1138907", "33000000"},
new String[]{"キューバ", "ハバナ", "北米", "114524", "10600000"},
new String[]{"エクアドル", "キト", "南米", "455502", "10600000"},
new String[]{"エルサルバドル", "サンサルバドル", "北米", "20865", "5300000"},
new String[]{"ガイアナ", "ジョージタウン", "南米", "214969", "800000"},
};
//表を追加する
Table table = section.addTable(true);
table.resetCells(data.length + 1, header.length);
//最初の行を表ヘッダーとして設定する
TableRow row = table.getRows().get(0);
row.isHeader(true);
row.setHeight(20);
row.setHeightType(TableRowHeightType.Exactly);
row.getRowFormat().setBackColor(Color.gray);
for (int i = 0; i < header.length; i++) {
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
Paragraph p = row.getCells().get(i).addParagraph();
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
TextRange txtRange = p.appendText(header[i]);
txtRange.getCharacterFormat().setBold(true);
}
//残りの行にデータを追加する
for (int r = 0; r < data.length; r++) {
TableRow dataRow = table.getRows().get(r + 1);
dataRow.setHeight(25);
dataRow.setHeightType(TableRowHeightType.Exactly);
dataRow.getRowFormat().setBackColor(Color.white);
for (int c = 0; c < data[r].length; c++) {
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
}
}
//セルの背景色を設定する
for (int j = 1; j < table.getRows().getCount(); j++) {
if (j % 2 == 0) {
TableRow row2 = table.getRows().get(j);
for (int f = 0; f < row2.getCells().getCount(); f++) {
row2.getCells().get(f).getCellFormat().setBackColor(new Color(173, 216, 230));
}
}
}
//ファイルに保存する
document.saveToFile("output/CreateTable.docx", FileFormat.Docx_2013);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。