チュートリアル

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

Koohji

Koohji

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.Presentation for Java 7.6.3 をダウンロードする

コメントは、追加情報を提供したり、ドキュメント内の何かに注意を引くために使用されます。コメントされているテキストも役立つ場合があり、他の目的でそれを抽出したい場合があります。この記事では、Spire.Doc for Java を使用して、Word 文書の 2 つのコメントマークの間のテキストを抽出する方法を紹介します。

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

Word で 2 つのコメントマークにあるテキストを取得する

開始マーク(CommentMarkStart クラスで表される)と終了マーク(CommentMarkEnd クラスで表される)の間のテキストを取得するには、コメントマークのインデックスを取得する必要があります。これらのインデックスは、段落でマークされているテキストの位置を指定します。以下は、Word 文書で 2 つのコメントマーク内にテキストを入れる詳細な手順です。

  • Document オブジェクトを作成し、Document.loadFromFile() メソッドを使用してサンプルの Word 文書を読み込みます。
  • Document.getComments().get() メソッドを使用して最初のコメントを取得します。
  • コメントの開始マークと終了マークを取得します。
  • 所有者段落で開始マークのインデックスと終了マークのインデックスを取得します。
  • インデックス間のテキスト範囲を取得してから、TextRage.getText() メソッドを使用してテキスト範囲のテキストを取得します。
  • Java
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);
    }
}

Java:Word で 2 つのコメントマークにあるテキストを取得する方法

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

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

画像透かしは通常、デジタルドキュメントの背景に表示されるロゴまたはサインであり、コンテンツの著作権所有者を示します。PDF ドキュメントに画像で透かしを入れると、データの再利用や変更を防ぐことができます。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF に画像透かしを追加する方法を示します。

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

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

PM> Install-Package Spire.PDF

PDF に画像透かしを追加する

以下は、PDF ドキュメントに画像透かしを追加するための主な手順です。

  • PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドを使用してサンプル PDF ファイルをロードします。
  • Image.FromFile() メソッドを使用して画像ファイルをロードします。
  • ドキュメント内のページをループし、PdfDocument.Pages[] プロパティを介して特定のページを取得します。
  • PdfPageBase.BackgroundImage プロパティを使用して、画像を現在のページの背景/透かし画像として設定します。PdfPageBase.BackgroundRegion プロパティを使用して画像の位置とサイズを設定します。
  • PdfDocument.SaveToFile() メソッドを使用して、ドキュメントを別の PDF ファイルに保存します。
  • C#
  • VB.NET
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

C#/VB.NET:PDF に画像透かしを追加する方法

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

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

PDF ドキュメントが不正に使用されるのを防ぐために、テキストまたは画像でドキュメントに透かしを入れることができます。この記事では、Spire.PDF for .NET を使用して、C# および VB.NET の PDF にテキスト透かし(単一行および複数行の透かし)をプログラムで追加する方法を紹介します。

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

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

PM> Install-Package Spire.PDF

PDF にテキスト透かしを追加する

Spire.PDF は、PDF ファイルの透かしを処理するためのインターフェイスまたはクラスを提供していません。ただし、透かし効果を模倣するために、各ページに「機密」、「内部使用」、「ドラフト」などのテキストを描画することはできます。以下は、PDF ドキュメントのすべてのページにテキスト透かしを追加するための主な手順です。

  • PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドを使用してサンプル PDF ドキュメントをロードします。
  • PdfTrueTypeFont オブジェクトを作成し、透かしテキストを指定し、PdfFontBase.MeasureString() メソッドを使用してテキストサイズを測定します。
  • ドキュメント内のすべてのページをトラバースします。
  • PdfPageBase.Canvas.TraslateTransform() メソッドを使用して指定した座標で特定のページの座標系を変換し、PdfPageBase.Canvas.RotateTransform() メソッドを使用して座標系を反時計回りに45度回転します。これにより、透かしがページの中央に45度の角度で表示されるようになります。
  • PdfPageBase.Canvas.DrawString() メソッドを使用して、ページに透かしテキストを描画します。
  • PdfDocument.SaveToFile() メソッドを使用して、ドキュメントを別の PDF ファイルに保存します。
  • C#
  • VB.NET
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

C#/VB.NET:PDF にテキスト透かしを追加する方法

複数行のテキスト透かしを PDF に追加

ドキュメントに複数行のテキスト透かしを追加したい場合があります。 タイル透かし効果を実現するには、PdfTilingBrush クラスを使用できます。このクラスは、グラフィック領域を埋めるために繰り返されるタイルパターンを生成します。 以下は、PDF ドキュメントに複数行の透かしを追加するための主な手順です。

  • PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドを使用してサンプル PDF ドキュメントをロードします。
  • カスタムメソッド InsertMultiLineTextWatermark(PdfPageBase page, String watermarkText, PdfTrueTypeFont font, int rowNum, int columnNum) を作成して、複数行のテキスト透かしを PDF ページに追加します。 パラメータ rowNum および columnNum は、タイル透かしの行番号と列番号を指定します。
  • ドキュメント内のすべてのページをトラバースし、カスタムメソッド InsertMultiLineTextWatermark() を呼び出して、各ページに透かしを適用します。
  • PdfDocument.SaveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • C#
  • VB.NET
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

C#/VB.NET:PDF にテキスト透かしを追加する方法

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

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

XPS(XML Paper Specification)は、共有および公開の目的で設計された固定レイアウトのドキュメント形式です。この形式は元々 PDF ファイル形式に代わる試みとして作成されましたが、いくつかの理由で失敗しました。とにかく、XPS ファイル形式がまだ使用されている場合もあり、Excel ファイルを XPS ファイルに変換する必要がある場合もあります。この記事では、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>4.11.2</version>
    </dependency>
</dependencies>

Excel を XPS に変換する

Spire.XLS for Java が提供する Workbook.saveToFile() メソッドを使用すると、わずか数行のコードで Excel ファイルを XPS に簡単に変換できます。詳細な手順は次のとおりです。

  • Workbook インスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用してサンプル Excel ドキュメントをロードします。
  • Workbook.saveToFile() メソッドを使用して、ドキュメントを XPS ファイル形式で保存します。
  • Java
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);
    }
}

Java:Excel を 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 の範囲を取得できなかった問題を修正しました。
ここで Spire.XLS 12.6.1 をダウンロードする

時々、人たちは自分の好みに合わせて、Word 文書を印刷したい場合があります。たとえば、ファイルをカスタム用紙サイズで印刷して、より個人的に設定することができます。 この記事では、Spire.Doc for.NET を使用してこの機能を実現する方法をご紹介します。

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

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

PM> Install-Package Spire.Doc

カスタム用紙サイズに Word を印刷する

次の表は、今回のシナリオで使用されるコアクラス、メソッド、およびプロパティのリストです。

名称 説明
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 をカスタム用紙サイズに印刷する手順は次のとおりです。

  • Document オブジェクトをインスタンス化します
  • Document.LoadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • Document.PrintDocument プロパティを使用して PrintDocument オブジェクトを取得します。
  • DefaultPageSettings.PaperSize プロパティを使用してカスタム用紙サイズを設定します。
  • PrintDocument.Print() メソッドを使用してドキュメントを印刷します。
  • C#
  • VB.NET
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 をインストールします

まず、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 ドキュメントに追加する

次の手順は、PDF ドキュメントの特定の位置とその終わりに空のページを追加する方法を示しています。

  • PdfDocument インスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用してサンプル PDF ドキュメントをロードします。
  • 新しい空白ページを作成し、PdfDocument.getPages().Insert(int index) メソッドを使用してドキュメントの特定の位置に挿入します。
  • 指定されたサイズとマージンで別の新しい空白ページを作成し、PdfDocument.getPages().add(java.awt.geom.Dimension2D sizePdfMargins margins) メソッドを使用してドキュメントの最後に追加します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • Java
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();
    }
}

Java:PDF ドキュメントのページを追加または削除する方法

PDF ドキュメントの既存のページを削除する

次の手順は、PDF ドキュメントの特定のページを削除することです。

  • PdfDocument インスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用してサンプル PDF ドキュメントをロードします。
  • PdfDocument.getPages().removeAt(int index) メソッドを使用して、ドキュメントの特定のページを削除します。
  • PdfDocument.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • Java
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();
    }
}

Java:PDF ドキュメントのページを追加または削除する方法

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

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

Word 文書のブックマークは、文書内の特定のセクションに迅速に移動するために便利です。ブックマークを使用すると、文書内に「マーカー」を作成して名前を付け、簡単にジャンプすることができます。これは、特に長い文書や複雑な文書を扱う際に役立ちます。

この記事では、C# で Spire.Doc for .NET ライブラリを使用して、Word 文書にブックマークを追加および削除する方法を説明します。

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

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

PM> Install-Package Spire.Doc

C# で段落にブックマークを追加する

Spire.Doc を使用して、段落の先頭に BookmarkStart オブジェクトを挿入し、段落の終わりに BookmarkEnd オブジェクトを挿入することで、段落にブックマークを作成できます。ブックマークの開始点と終了点の間のスペースが定義されたブックマークとなり、必要に応じて参照・アクセスすることができます。

段落にブックマークを追加する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Sections[].Paragraphs[] プロパティを使用して、セクションから段落を取得します。
  • Paragraph.AppendBookmarkStart() メソッドを使用して BookmarkStart オブジェクトを作成します。
  • 選択した段落の先頭に BookmarkStart を挿入します。
  • Paragraph.AppendBookmarkEnd() メソッドを使用して、段落の終わりに BookmarkEnd オブジェクトを追加します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
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();
        }
    }
}

C#:Word 文書でブックマークを追加・削除する方法

C# で段落内の特定のテキストにブックマークを追加する

特定のテキストにブックマークを追加するには、まず段落内のテキストとその位置を見つける必要があります。次に、テキストの前に BookmarkStart オブジェクトを、テキストの後ろに BookmarkEnd オブジェクトを挿入します。

Spire.Doc を使用して段落内の特定のテキストにブックマークを追加する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.FindAllString() メソッドを使用して文書からテキストを検索し、TextSelection.GetAsOneRange().OwnerParagraph プロパティを使用して、その段落内での位置を取得します。
  • Paragraph.AppendBookmarkStart() メソッドを使用して BookmarkStart オブジェクトを作成します。
  • 選択したテキストの前に BookmarkStart を挿入します。
  • Paragraph.AppendBookmarkEnd() メソッドを使用して BookmarkEnd オブジェクトを作成します。
  • 選択したテキストの後ろに BookmarkEnd オブジェクトを挿入します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
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();
        }
    }
}

C#:Word 文書でブックマークを追加・削除する方法

C# で Word 文書からブックマークを削除する

Word 文書から特定のブックマークまたはすべてのブックマークを削除するには、Bookmarks.Remove() メソッドまたは Bookmarks.Clear() メソッドを使用します。詳細な手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Bookmarks[index] プロパティを使用して、文書内の特定のブックマークをインデックスで取得します。
  • Bookmarks.Remove() メソッドを使用してブックマークを削除します。
  • すべてのブックマークを一度に削除するには、Document.Bookmarks.Clear() メソッドを使用します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
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 をインストールします

まず、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>

Word で簡単な表を作成する

次のテーブルに、表の作成とフォーマットを担当するコアクラスとメソッドの一部を示します。

名前 説明
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文書に簡単な表を作成する手順です。

  • Document オブジェクトを作成し、それにセクションを追加します。
  • ヘッダー行と他の行のデータを準備し、それぞれ1次元の文字列配列と2次元の文字列配列に格納します。
  • Section.addTable() メソッドを使用して、セクションにテーブルを追加します。
  • ヘッダー行にデータを挿入し、行の高さ、背景色、テキストの配置など、行の書式を設定します。
  • 残りの行にデータを挿入し、これらの行に書式を適用します。
  • Document.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • Java
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);
    }
}

Java:Word で表を作成する方法

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

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