チュートリアル

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

Koohji

Koohji

Spire.Doc 10.11.9のリリースを発表できることを嬉しく思います。このバージョンでは、形状の塗りつぶし色の透明度の設定がサポートされ、WordからPDFへの変換機能が強化されました。また、メールマージするときにアプリケーションが「System.InvalidOperationException」をスローするなどの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-8443 形状の塗りつぶし色の透明度の設定がサポートされました。
Paragraph paragraph = section.AddParagraph();
Spire.Doc.Fields.TextBox textbox1 = paragraph.AppendTextBox(100, 50);
textbox1.Format.FillColor = Color.Red;
textbox1.FillTransparency = 0.45;
Bug SPIREDOC-5456 WordをPDFに変換した後のテキストフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-5718 WordをPDFに変換した後の改ページが正しくない問題が修正されました。
Bug SPIREDOC-7350
SPIREDOC-7605
WordをPDFに変換した後のヘッダーの下線と表の枠線が重なる問題が修正されました。
Bug SPIREDOC-8539 RTFをPDFに変換した後のテキストフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-8635 メールによるデータのマージに失敗した問題が修正されました。
Bug SPIREDOC-8636 メールマージ時にアプリケーションが「System.InvalidOperationException」をスローする問題が修正されました。
Bug SPIREDOC-8691 追跡リビジョン機能をオンにした後、コンテンツコントロールのコンテンツを変更した後にdoc.HasChangesがfalseに戻る問題が修正されました。
Bug SPIREDOC-8709 WordをPDFに変換して内容が失われていた問題が修正されました。
Bug SPIREDOC-8785 WordをPDFに変換する際にアプリケーションが「System.NullReferenceException」をスローする問題が修正されました。
ここで Spire.Doc 10.11.9をダウンロードする

2022年のクリスマスが近づいています。まずはクリスマスおめでとうございます!

セール期間(2022年12月1日2023年1月5日)には、E-iceblue が今年最大のキャンペーンセールを展開します。弊社の製品に興味がある場合は、この機会に超低価格で購入してください。すでにライセンスを購入している場合は、よりお得な価格で更新することもできます。

キャンペーンセール

  • Spire.Office のすべての製品には15%の割引が適用されます。
  • 単独の Developer OEM Subscription および以上の製品には15%の割引が適用されます。
  • 有料サポートには10%の割引が適用されます。
  • 既存のライセンスの更新は追加で5%割引が適用されます。

キャンペーン期間中に製品を購入する前に、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。に連絡してクーポンコードを入手してください。

:これらの割引は、弊社に直接購入する場合にのみ適用されます。
ライセンスが期限切れになっていない場合は、更新後のライセンス期間が前にライセンス期限に基づいて増加します。

もっとすばらしい内容

Spire.XLS for C++ は、Excel の作成、読み取り、書き込み、変換、印刷に使用できる専門的な C++ API です。この製品は間もなくオンラインになり、他の C++ 製品も続々とオンラインになる。

お問い合わせ

Sale: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
Technical Support: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
Skype ID: iceblue.support

文書プロパティ(メタデータとも呼ばれる)とは、文書に関する一連の情報のことです。すべての Word 文書には、タイトル、著者名、テーマ、キーワードなど、一連の組み込み文書プロパティが付属しています。内蔵の文書プロパティに加えて、Microsoft Word では、ユーザーが Word 文書にカスタム文書プロパティを追加することもできます。この記事では、Spire.Doc for .NET を使用して、C# と VB.NET で Word 文書に文書プロパティを追加する方法を説明します。

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

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

PM> Install-Package Spire.Doc

Word 文書に組み込みの文書プロパティを追加する

標準文書プロパティは、名前と値で構成されています。標準文書プロパティは、Microsoft Word によって事前に定義されているため、名前を設定または変更することはできませんが、値を設定または変更することは可能です。

次の手順では、Word 文書内の内蔵文書プロパティに値を設定する方法を説明します。

  • Document クラスのインスタンスを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.BuiltinDocumentProperties プロパティで、文書の組み込み文書プロパティを取得します。
  • BuiltinDocumentProperties クラスの Title、Subject、Author プロパティを通じて、タイトル、テーマ、著者などの特定の文書プロパティに値を設定します。
  • Document.SaveToFile() メソッドを用いて、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Doc;

namespace AddBuiltinDocumentProperties
{
    class Program
    {
        static void Main(string[] args)
        {
            //Documentクラスのインスタンスを作成する
            Document document = new Document();

            //Word文書の読み込み
            document.LoadFromFile("洞窟芸術.docx");

            //組み込みの文書プロパティを文書に追加する
            BuiltinDocumentProperties standardProperties = document.BuiltinDocumentProperties;
            standardProperties.Title = "洞窟芸術";
            standardProperties.Subject = "石器時代の芸術";
            standardProperties.Author = "Izzy Wisher";
            standardProperties.Company = "Aeon.co";
            standardProperties.Manager = "Nigel Warburton";
            standardProperties.Category = "芸術";
            standardProperties.Keywords = "洞窟芸術、石器時代";
            standardProperties.Comments = "石器時代の洞窟芸術を紹介した資料です。";

            //結果文書を保存する
            document.SaveToFile("標準文書プロパティ.docx", FileFormat.Docx2013);
        }
    }
}
Imports Spire.Doc

Namespace AddBuiltinDocumentProperties
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Documentクラスのインスタンスを作成する
            Dim document As Document = New Document()

            'Word文書の読み込み
            document.LoadFromFile("洞窟芸術.docx")

            '組み込みの文書プロパティを文書に追加する
            Dim standardProperties As BuiltinDocumentProperties = document.BuiltinDocumentProperties
            standardProperties.Title = "洞窟芸術"
            standardProperties.Subject = "石器時代の芸術"
            standardProperties.Author = "Izzy Wisher"
            standardProperties.Company = "Aeon.co"
            standardProperties.Manager = "Nigel Warburton"
            standardProperties.Category = "芸術"
            standardProperties.Keywords = "洞窟芸術、石器時代"
            standardProperties.Comments = "石器時代の洞窟芸術を紹介した資料です。"

            '結果文書を保存する
            document.SaveToFile("標準文書プロパティ.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:Word 文書に文書のプロパティを追加する方法

Word 文書にカスタム文書プロパティを追加する

カスタム文書プロパティは、文書の作成者やユーザが定義することができます。各カスタム文書プロパティは、名前、値、データ型を含む必要があります。データ型は、この4つの種類(Text、Date、Number、Yes or No)のうちの1つです。

以下の手順は、Word 文書にさまざまなデータ型を持つカスタム文書プロパティを追加する方法を示しています。

  • Document クラスのインスタンスを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.CustomDocumentProperties プロパティでドキュメントのカスタム文書プロパティを取得します。
  • CustomDocumentProperties.Add(string, object) メソッドを使用して、異なるデータ型を持つカスタム文書プロパティを文書に追加します。
  • Document.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Doc;
using System;

namespace AddCustomDocumentProperties
{
    class Program
    {
        static void Main(string[] args)
        {
            //Documentクラスのインスタンスを作成する
            Document document = new Document();

            //Word文書の読み込み
            document.LoadFromFile("洞窟芸術.docx");

            //カスタム文書プロパティを文書に追加する
            CustomDocumentProperties customProperties = document.CustomDocumentProperties;
            customProperties.Add("文書ID", 1);
            customProperties.Add("許可取得の有無", true);
            customProperties.Add("許可者", "John Smith");
            customProperties.Add("許可日", DateTime.Today);

            //結果文書を保存する
            document.SaveToFile("カスタム文書プロパティ.docx", FileFormat.Docx2013);
        }
    }
}
Imports Spire.Doc
Imports System
Imports System.Reflection.Metadata

Namespace AddCustomDocumentProperties
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Documentクラスのインスタンスを作成する
            Dim document As Document = New Document()

            'Word文書の読み込み
            document.LoadFromFile("洞窟芸術.docx")

            'カスタム文書プロパティを文書に追加する
            Dim customProperties As CustomDocumentProperties = document.CustomDocumentProperties
            customProperties.Add("文書ID", 1)
            customProperties.Add("許可取得の有無", True)
            customProperties.Add("許可者", "John Smith")
            customProperties.Add("許可日", DateTime.Today)

            '結果文書を保存する
            document.SaveToFile("カスタム文書プロパティ.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:Word 文書に文書のプロパティを追加する方法

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

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

Spire.XLS 12.11.3のリリースを発表できることを嬉しく思います。このリリースでは、CEILING.MATH、BITOR、BITAND、BITLSHIFT、BITRSHIFT 関数、および「SHA-512」暗号化方式が追加されました。また、shapeグループ化と全体のピボット・テーブルのレイアウト・モードを設定することもサポートしました。また、今回のアップデートではExcelからPDF、HTMLからExcelへの変換機能が強化されました。また、このバージョンでは既知の問題の一部が正常に修正されました。詳細は以下をお読みください。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-4120 CEILING.MATH関数をサポートしました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "CEILING.MATH(-2.78,5,-1)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4195 BITOR関数をサポートしました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITOR(23,10)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4199 BITAND関数をサポートしました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITAND(23,10)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4212 BITLSHIFT関数をサポートしました。
Supports BITLSHIFT formula.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITLSHIFT(23,2)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4214 BITRSHIFT関数をサポートしました。
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITRSHIFT(23,2)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);
New feature SPIREXLS-4191 shapeグループ化をサポートしました。
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
IPrstGeomShape shape1 = worksheet.PrstGeomShapes.AddPrstGeomShape(1, 3, 50, 50, PrstGeomShapeType.RoundRect);
IPrstGeomShape shape2 = worksheet.PrstGeomShapes.AddPrstGeomShape(5, 3, 50, 50, PrstGeomShapeType.Triangle);
GroupShapeCollection groupShapeCollection = worksheet.GroupShapeCollection;
groupShapeCollection.Group(new Spire.Xls.Core.IShape[] { shape1,shape2});
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2013);
New feature SPIREXLS-4194 「SHA-512」暗号化方式をサポートしました。
New feature SPIREXLS-4200 ピボット・テーブル全体を設定するためのレイアウト・モードが追加されました。
xlsPivotTable.Options.ReportLayout = PivotTableLayoutType.Tabular;
Bug SPIREXLS-4161 HtmlをExcelに変換した後の表の枠線とスタイルが失われていた問題が修正されました。
Bug SPIREXLS-4163 条件付きフォーマットの色を取得する際にアプリケーションが「System.NullReferenceException」をスローする問題が修正されました。
Bug SPIREXLS-4164 グラフを画像に変換した後にコンマが1つ多くなる問題が修正されました。
Bug SPIREXLS-4182 エラーパスワードでExcelドキュメントを復号したときにアプリケーションがスローしなかった問題が修正されました。
Bug SPIREXLS-4189 隠し列を削除するとExcelに空白列が多くなる問題が修正されました。
Bug SPIREXLS-4197 ドキュメントをロードして保存した後、結果ドキュメントと元のドキュメントの内容が異なる問題が修正されました。
Bug SPIREXLS-4211 ExcelをCSVドキュメントに変換した後の二重引用符が正しくない問題が修正されました。
Bug SPIREXLS-4218 セル範囲の計算結果が正しくない問題が修正されました。
Bug SPIREXLS-4227 セルのRTFテキストを取得する際にアプリケーションが「Unknown font」をスローした問題が修正されました。
Bug SPIREXLS-4231 ExcelをPDFに変換する際にアプリケーションが「Shapes fail to be rendered」をスローした問題が修正されました。
Bug SPIREXLS-4245 ExcelをPDFに変換する際にアプリケーションが「System.OutOfMemoryException」をスローした問題が修正されました。
Bug SPIREXLS-4247 HtmlをExcelに変換した後のフォーマットの不一致が修正されました。
Bug SPIREXLS-4252 ストリーム形式でファイルを保存すると、スライサー(slicers)が失われる問題が修正されました。
Bug SPIREXLS-4254 オペレーティングシステムの言語領域が変更された後、保存されたドキュメントのオープンプロンプトの内容に誤りがあった問題が修正されました。
Bug SPIREXLS-4258 sheetをコピーする際にアプリケーションが「System.NullReferenceException」をスローした問題が修正されました。
ここで Spire.XLS 12.11.3 をダウンロードする

Word 文書を扱う過程で、しばしば困った事態が発生します。例えば、大きな Word 文書を完成させたとき、何度も出てくる名称や専門用語の中に間違いがあることが判明した。間違っている言葉を一つずつ変えていくとなると、作業量が多すぎて大変です。幸いなことに、このような問題を素早く解決する簡単な方法がいくつかあります。MS Word には、検索と置換という機能があり、ユーザーは置き換えたいものを素早く見つけて、新しいテキストに置き換えることができます。プロフェッショナル向け開発コンポーネント Spire.Doc for Java は、コードを通じて単語の検索と置換を行う機能を開発者に提供します。この記事では、Spire.Doc for Java を使って、Word 文書内のテキストを素早く検索し、新しいテキストや画像に置き換える方法を紹介します。

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

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

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

テキストを検索し一致するものをすべて新しいテキストに置き換える

Spire.Doc for Java が提供する Document.replace() メソッドを使うだけで、素早くテキストを検索し、新しいテキストに置き換えることができます。 このメソッドは、すべてのマッチを新しいテキストに置き換えます。大文字と小文字を区別するかどうか、検索語を完全に検索するかどうかの設定に対応しています。

テキストを検索し、一致するものをすべて置き換える詳細な手順は次のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFile() メソッドで Word 文書を読み込みます。
  • Document.replace() メソッドを使って、「鹿」のマッチングをすべて「水牛」に置き換えます。
  • 生成されたドキュメントを Document.saveToFile() メソッドで保存します。
  • Java
import com.spire.doc.Document;

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

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

        //Word文書の読み込み
        document.loadFromFile("洞窟芸術.docx");

        //「鹿」のマッチングをすべて「水牛」に置き換える
        document.replace("鹿", "水牛", false, true);

        //結果ファイルを保存する
        document.saveToFile("すべて置き換える.docx");
    }
}

Java:Word 文書内のテキストを検索して置換する方法

テキストを検索し最初に一致したテキストを新しいテキストに置き換える

Doc for Java には、Document.setReplaceFirst() メソッドもあり、Document.replace() メソッドの置換モードを、最初の一致を置換するか、すべての一致を置換するかを変更することができます。

テキストを検索し、最初に一致したものを置き換えるには、次のように操作します。

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFile() メソッドで Word 文書を読み込みます。
  • Document.setReplaceFirst() メソッドで、最初に一致したものだけを置き換えるように設定します。
  • Document.replace() メソッドを使って、最初にマッチした「鹿」を「水牛」に置き換えます。
  • 生成されたドキュメントを Document.saveToFile() メソッドで保存します。
  • Java
import com.spire.doc.Document;

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

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

        //Word文書の読み込み
        document.loadFromFile("洞窟芸術.docx");

        //置換モードを最初のマッチを置換するモードに変更する
        document.setReplaceFirst(true);

        //「テキスト「鹿」の最初のマッチを新しいテキスト「水牛」に置き換える
        document.replace("鹿", "水牛", false, true);

        //結果ファイルを保存する
        document.saveToFile("最初のマッチを置き換える.docx");
    }
}

Java:Word 文書内のテキストを検索して置換する方法

テキストを検索し画像に置き換える

Spire.Doc for Java は、テキストを検索し、一致したものをすべて画像として置き換えることもサポートしています。そのためには、テキストを検索して、マッチしたものを全て取得する必要があります。次に、画像をドキュメントのオブジェクトとして読み込み、マッチしたテキストがある場所に挿入し、テキストを削除します。

詳細な手順は以下の通りです。

  • Document クラスのインスタンスを作成します。
  • Document.loadFromFile() メソッドで Word 文書を読み込みます。
  • Document.findAllString() メソッドを使用して、ドキュメント内の「鹿」にマッチするすべてのテキストを検索します。
  • 一致したテキストをループして、すべて画像に置き換えます。
  • Document.saveToFile() メソッドでドキュメントを保存します。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;

public class replaceTextWithImage {

    public static void main(String[] args) {

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

        //Word文書の読み込み
        document.loadFromFile("洞窟芸術.docx");

        //ドキュメント内の「鹿」にマッチするすべてのテキストを検索する
        TextSelection[] selections = document.findAllString("鹿", true, true);

        //一致したテキストをループして、すべて画像に置き換える
        int index = 0;
        TextRange range = null;
        for (Object obj : selections) {

            TextSelection textSelection = (TextSelection)obj;

            //DocPictureクラスのオブジェクトを作成し、画像を読み込む
            DocPicture pic = new DocPicture(document);
            pic.loadImage("鹿.png");

            range = textSelection.getAsOneRange();
            index = range.getOwnerParagraph().getChildObjects().indexOf(range);
            range.getOwnerParagraph().getChildObjects().insert(index,pic);
            range.getOwnerParagraph().getChildObjects().remove(range);
        }

        //指定されたマッチを画像に置き換える
        //DocPictureクラスのオブジェクトを作成し、画像を読み込む
        //DocPicture pic = new DocPicture(document);
        //pic.loadImage("鹿.png");
        //Object object = selections[1];
        //TextSelection selection = (TextSelection) object;
        //TextRange textRange = selection.getAsOneRange();
        //int i = textRange.getOwnerParagraph().getChildObjects().indexOf(textRange);
        //textRange.getOwnerParagraph().getChildObjects().insert(i,pic);
        //textRange.getOwnerParagraph().getChildObjects().remove(textRange);

        //結果ファイルを保存する
        document.saveToFile("テキストを検索して画像に置き換える.docx", FileFormat.Docx_2013);
    }
}

Java:Word 文書内のテキストを検索して置換する方法

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

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

PDF/A は、電子文書のアーカイブと長期保存のために設計された一種の PDF 形式です。簡単に破損したり汚れたりする紙のドキュメントとは異なり、PDF/A 形式は、長期保存後でもまったく同じ方法でドキュメントを複製できることを保証します。この記事では、Spire.PDF for Java を使用して PDF を PDF/A-1A, 2A, 3A, 1B, 2B と 3B の 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>8.11.0</version>
    </dependency>
</dependencies>

PDF を PDF/A に変換する

Spire.PDF for Java は、PDF を PDF/A-1A, 2A, 3A, 1B, 2B と 3B など、さまざまな PDF/A フォーマットに変換することをサポートしています。以下に詳細な変換手順を示します。

  • PdfStandardsConverter インスタンスを作成し、パラメータとして PDF サンプルファイルをアップロードします。
  • PdfStandardsConverter.toPdfA1A() メソッドを使用して、サンプルファイルを PdfA 1 A コンシステンシレベルに変換します。
  • PdfStandardsConverter.toPdfA1B() メソッドを使用して、サンプルファイルを PdfA 1 B コンシステンシレベルに変換します。
  • PdfStandardsConverter.toPdfA2A() メソッドを使用して、サンプルファイルを PdfA 2 A コンシステンシレベルに変換します。
  • PdfStandardsConverter.toPdfA2B() メソッドを使用して、サンプルファイルを PdfA 2 B コンシステンシレベルに変換します。
  • PdfStandardsConverter.toPdfA3A() メソッドを使用して、サンプルファイルを PdfA 3 A コンシステンシレベルに変換します。
  • PdfStandardsConverter.toPdfA3B() メソッドを使用して、サンプルファイルを PdfA 3 B コンシステンシレベルに変換します。
  • Java
import com.spire.pdf.conversion.PdfStandardsConverter;

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

        //PdfStandardsConverterインスタンスを作成し、パラメータとしてPDFサンプルファイルをアップロードする
        PdfStandardsConverter converter = new PdfStandardsConverter("sample.pdf");

        //PDFをPDF/A1Aに変換する
        converter.toPdfA1A("output/ToPdfA1A.pdf");

        //PDFをPDFA1Bに変換する
        converter.toPdfA1B("output/ToPdfA1B.pdf");

        //PDFをPDFA2Aに変換する
        converter.toPdfA2A( "output/ToPdfA2A.pdf");

        //PDFをPDFA2Bに変換する
        converter.toPdfA2B("output/ToPdfA2B.pdf");

        //PDFをPDFA3Aに変換する
        converter.toPdfA3A("output/ToPdfA3A.pdf");

        //PDFをPDFA3Aに変換する
        converter.toPdfA3B("output/ToPdfA3B.pdf");
    }
}

Java:PDF を PDF/A に変換する方法

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

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

Spire.PDF for Java 8.11.8のリリースを発表できることをうれしく思います。 このバージョンでは、PdfTrueTypeFontオブジェクトの解放がサポートされました。PDFから画像への変換機能が強化されました。また、抽出されたテーブルの内容が不完全であるなどの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDF-5590 PdfTrueTypeFontオブジェクトの解放がサポートされました。
pdfTrueTypeFont.dispose(); 
Bug SPIREPDF-3959 PDFをExcelに変換した後のセル線がマージされていない問題が修正されました。
Bug SPIREPDF-5505 .pfx証明書ファイルを使用して署名したときに、証明書チェーン内のすべての証明書が署名に含まれていなかった問題が修正されました。
Bug SPIREPDF-5509
SPIREPDF-5583
抽出されたテーブルの内容が不完全である問題が修正されました。
Bug SPIREPDF-5540 Mac OS環境でPDFを画像に変換した後の内容が正しくない問題が修正されました。
Bug SPIREPDF-5582 PDFを画像に変換した後に部分的に黒い長方形で表示されていた問題が修正されました。
Bug SPIREPDF-5585 PDFを画像に変換した後に線が失われていた問題が修正されました。
Bug SPIREPDF-5594 設定ドロップダウンボックスに値が表示された後、WPSで出力されたPDFドキュメントを開く際に値が文字化けしてしまう問題が修正されました。
Bug SPIREPDF-5618 PdfHorizontalOverflowType列挙タイプが混同されていた問題が修正されました。
ここで Spire.PDF for Java 8.11.8 をダウンロードする

セキュリティ上の理由から、送り状などの多くの財務ファイルは通常 PDF 形式で保存されています。これらのドキュメントに対してデータ分析と計算を実行するには、Excel に変換する必要がある場合があります。この記事では、Spire.PDF for Java を使用して PDF を Excel に変換する方法を紹介します。

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

PDF を Excel に変換する

Spire.PDF for Java が提供する PdfDocument.saveToFile(String, FileFormat) メソッドは、PDF ドキュメントを Excel に変換することをサポートします。次は詳細な変換手順です。

  • PdfDocument クラスのインスタンスを初期化します。
  • PdfDocument.loadFromFile(String) メソッドを使用して PDF ドキュメントをロードします。
  • PdfDocument.saveToFile(String, FileFormat) メソッドを使用して、PDF ドキュメントを Excel に保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class ConvertPdfToExcel {
    public static void main(String[] args) {
        //PdfDocumentクラスのインスタンスを初期化する
        PdfDocument pdf = new PdfDocument();
        //PDFドキュメントをロードする
        pdf.loadFromFile("Sample.pdf");

        //ドキュメントをExcelに保存する
        pdf.saveToFile("PdfToExcel.xlsx", FileFormat.XLSX);
    }
}

Java:PDF を Excel に変換する方法

この例では、複数の PDF ページを複数の Excel ワークシートに変換します。複数ページの PDF を単一の Excel ワークシートに変換する場合は、Java:複数の PDF ページを1つの Excel ワークシートに変換する方法 を参照してください。

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

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

大きい PDF ドキュメントよりも小さいサイズのドキュメントの方が転送や保存に便利です。これが PDF を圧縮する最も一般的な理由の1つです。この記事では、Spire.PDF for Java を使用して PDF ドキュメントを圧縮する方法を紹介します。

ここでは、画像、フィールド、コメント、ブックマーク、添付ファイル、埋め込みフォントを削除することによって 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>8.11.0</version>
    </dependency>
</dependencies>

PDFドキュメントを圧縮する

Spire.PDF for Java が提供する PdfDocument.setCompressionLevel()PdfBitmap.setQuality() メソッドは、圧縮レベルの最適な設定と画像の品質の圧縮をサポートします。次に、PdfPageBase.replaceImage() メソッドを使用して圧縮された画像を元の画像に置き換えます。以下に詳細な圧縮手順を示します。

  • PdfDocument クラスのオブジェクトを作成します。
  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントをロードします。
  • PdfDocument.getFileInfo().setIncrementalUpdate() メソッドを使用して増分更新を禁止します。
  • 文書内のコンテンツを圧縮するために、PdfDocument.setCompressionLevel() メソッドを使用して圧縮レベルを最適に設定します。PdfCompressionLevel 列挙から他のいくつかのレベルを選択できます。
  • ドキュメント内のページをループし、PdfPageBase.getImagesInfo()メソッドを使用して各ページの画像情報コレクションを取得します。
  • コレクション内のすべてのアイテムをループし、PdfBitmap.setQuality() メソッドを使用して特定の画像の品質を圧縮します。
  • PdfPageBase.replaceImage() メソッドを使用して、元の画像を圧縮された画像に替えます。
  • PdfDocument.saveToFile() メソッドを使用して、文書を別の PDF ファイルに保存します。
  • Java
import com.spire.pdf.PdfCompressionLevel;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.exporting.PdfImageInfo;
import com.spire.pdf.graphics.PdfBitmap;

public class CompressPdfDocument {

    public static void main(String[] args) {

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

        //PDFドキュメントをロードする
        doc.loadFromFile("sample.pdf");

        //増分更新を禁止する
        doc.getFileInfo().setIncrementalUpdate(false);

        //圧縮レベルを最適に設定する
        doc.setCompressionLevel(PdfCompressionLevel.Best);

        //ドキュメント内のページをループする
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //特定のページを取得する
            PdfPageBase page = doc.getPages().get(i);

            //ページの画像情報コレクションを取得する
            PdfImageInfo[] images = page.getImagesInfo();

            //コレクション内のすべてのアイテムをループする
            if (images != null && images.length > 0)
                for (int j = 0; j < images.length; j++) {

                    //特定の画像を取得する
                    PdfImageInfo image = images[j];
                    PdfBitmap bp = new PdfBitmap(image.getImage());

                    //圧縮品質を設定する
                    bp.setQuality(20);

                      //元の画像を圧縮された画像に替える
                    page.replaceImage(j, bp);
                }

            //文書を別のPDFファイルに保存する
            doc.saveToFile("output.pdf");
            doc.close();
        }
    }
}

Java:PDF ドキュメントを圧縮する方法

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

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

PDF ドキュメントのページレイアウトは固定されており、ユーザーによる変更は許可されていません。PDF コンテンツを再編集するには、PDF を Word に変換するか、PDF からテキストを抽出します。この記事では、Spire.PDF for .NET を使用して、C# および VB.NET でプログラムによって特定の PDF ページからテキストを抽出する方法、特定の長方形領域からテキストを抽出する方法、および SimpleTextExtractionStrategy メソッドでテキストを抽出する方法を示します。

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

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

PM> Install-Package Spire.PDF

特定の PDF ページからテキストを抽出する

Spire.PDF for .NET が提供する PdfDocument.Pages[index] プロパティは、特定のページの取得をサポートします。次に、PdfTextExtractor.ExtractText() メソッドを使用して、特定のページからテキストを抽出します。以下に詳細な操作手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。
  • PdfDocument.Pages[index] プロパティで特定のページを取得します。
  • PdfTextExtractor オブジェクトを作成します。
  • PdfTextExtractOptions オブジェクトを作成し、IsExtractAllText プロパティを true に設定します。
  • PdfTextExtractor.ExtractText() メソッドを使用して、選択したページからテキストを抽出します。
  • 抽出したテキストを TXT ファイルに書き込みます。
  • C#
  • VB.NET
using System;
using System.IO;
using Spire.Pdf;
using Spire.Pdf.Texts;

namespace ExtractTextFromPage
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成する
            PdfDocument doc = new PdfDocument();

            //PDFファイルをロードする
            doc.LoadFromFile(@"sample.pdf");

            //2ページ目を取得する
            PdfPageBase page = doc.Pages[1];
      
            //PdfTextExtractotオブジェクトを作成する
            PdfTextExtractor textExtractor = new PdfTextExtractor(page);

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

            //isExtractAllTextをtrueに設定
            extractOptions.IsExtractAllText = true;

            //ページからテキストを抽出する
            string text = textExtractor.ExtractText(extractOptions);

            //TXTファイルに書き込み
            File.WriteAllText("Extracted.txt", text);
        }
    }
}
Imports System
Imports System.IO
Imports Spire.Pdf
Imports Spire.Pdf.Texts
 
Namespace ExtractTextFromPage
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'PdfDocumentオブジェクトを作成する
            Dim doc As PdfDocument =  New PdfDocument() 
 
            'PDFファイルをロードする
            doc.LoadFromFile("sample.pdf")
 
            '2ページ目を取得する
            Dim page As PdfPageBase =  doc.Pages(1) 
 
            'PdfTextExtractotオブジェクトを作成する
            Dim textExtractor As PdfTextExtractor =  New PdfTextExtractor(page) 
 
            'PdfTextExtractOptionsオブジェクトを作成する
            Dim extractOptions As PdfTextExtractOptions =  New PdfTextExtractOptions() 
 
            'isExtractAllTextをtrueに設定
            extractOptions.IsExtractAllText = True
 
            'ページからテキストを抽出する
            Dim text As String =  textExtractor.ExtractText(extractOptions) 
 
            'TXTファイルに書き込み
            File.WriteAllText("Extracted.txt", text)
        End Sub
    End Class
End Namespace

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

特定の長方形領域からテキストを抽出する

長方形領域からテキストを抽出するには、ExtractArea プロパティで長方形領域を指定します。次に、PdfTextExtractor.ExtractText() メソッドを使用してテキストを抽出します。以下に詳細な操作手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。
  • PdfDocument.Pages[index] プロパティで特定のページを取得します。
  • PdfTextExtractor オブジェクトを作成します。
  • PdfTextExtractOptions オブジェクトを作成し、ExtractArea プロパティで長方形領域を指定します。
  • PdfTextExtractor.ExtractText() メソッドを使用して長方形領域からテキストを抽出します。
  • 抽出したテキストを TXT ファイルに書き込みます。
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;
using System.Drawing;

namespace ExtractTextFromRectangleArea
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成する
            PdfDocument doc = new PdfDocument();

            //PDFファイルをロードする
            doc.LoadFromFile(@"sample.pdf");

            //2ページ目を取得する
            PdfPageBase page = doc.Pages[1];

            //PdfTextExtractorオブジェクトを作成する
            PdfTextExtractor textExtractor = new PdfTextExtractor(page);

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

            //長方形領域を指定する
            extractOptions.ExtractArea = new RectangleF(0, 0, 890, 190);

            //長方形からテキストを抽出する 
            string text = textExtractor.ExtractText(extractOptions);

            //TXTファイルに書き込み
            File.WriteAllText("Extracted.txt", text);
        }
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Texts
Imports System.IO
Imports System.Drawing
 
Namespace ExtractTextFromRectangleArea
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'PdfDocumentオブジェクトを作成する
            Dim doc As PdfDocument =  New PdfDocument() 
 
            'PDFファイルをロードする
            doc.LoadFromFile("sample.pdf")
 
            '2ページ目を取得する
            Dim page As PdfPageBase =  doc.Pages(1) 
 
            'PdfTextExtractorオブジェクトを作成する
            Dim textExtractor As PdfTextExtractor =  New PdfTextExtractor(page) 
 
            'PdfTextExtractOptionsオブジェクトを作成する
            Dim extractOptions As PdfTextExtractOptions =  New PdfTextExtractOptions() 
 
            '長方形領域を指定する
            extractOptions.ExtractArea = New RectangleF(0, 0, 890, 190);
 
            '長方形からテキストを抽出する
            Dim text As String =  textExtractor.ExtractText(extractOptions) 
 
            'TXTファイルに書き込み
            File.WriteAllText("Extracted.txt", text)
        End Sub
    End Class
End Namespace

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

SimpleTextExtractionStrategy メソッドでテキストを抽出する

以上の方法は、行ごとにテキストを抽出するのに適しています。SimpleTextExtractionStrategy メソッドを使用してテキストを抽出すると、各文字列の Y 位置を追跡し、Y 位置が変化したときに出力に改行文字を挿入することができます。以下に詳細な手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用してPDFファイルをロードします。
  • PdfDocument.Pages[index] プロパティで特定のページを取得します。
  • PdfTextExtractor オブジェクトを作成します。
  • PdfTextExtractOptions オブジェクトを作成し、IsSimpleExtraction プロパティを true に設定します。
  • PdfTextExtractor.ExtractText() メソッドを使用して、選択したページからテキストを抽出します。
  • 抽出したテキストを TXT ファイルに書き込みます。
  • C#
  • VB.NET
using System.IO;
using Spire.Pdf;
using Spire.Pdf.Texts;

namespace SimpleExtraction
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成する
            PdfDocument doc = new PdfDocument();

            //PDFファイルをロードする
            doc.LoadFromFile(@"sample.pdf");

            //最初のページを取得する
            PdfPageBase page = doc.Pages[0];

            //PdfTextExtractorオブジェクトを作成する
            PdfTextExtractor textExtractor = new PdfTextExtractor(page);

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

            //IsSimpleExtractionをtrueに設定する
            extractOptions.IsSimpleExtraction = true;

            //選択したページからテキストを抽出する 
            string text = textExtractor.ExtractText(extractOptions);

            //TXTファイルへの書き込み
            File.WriteAllText("Extracted.txt", text);
        }
    }
}
Imports System.IO
Imports Spire.Pdf
Imports Spire.Pdf.Texts
 
Namespace SimpleExtraction
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'PdfDocumentオブジェクトを作成する
            Dim doc As PdfDocument =  New PdfDocument() 
 
            'PDFファイルをロードする
            doc.LoadFromFile("sample.pdf");
 
            '最初のページを取得する
            Dim page As PdfPageBase =  doc.Pages(0) 
 
            'PdfTextExtractorオブジェクトを作成する
            Dim textExtractor As PdfTextExtractor =  New PdfTextExtractor(page) 
 
            'PdfTextExtractOptionsオブジェクトを作成する
            Dim extractOptions As PdfTextExtractOptions =  New PdfTextExtractOptions() 
 
            'IsSimpleExtractionをtrueに設定する
            extractOptions.IsSimpleExtraction = True
 
            '選択したページからテキストを抽出する
            Dim text As String =  textExtractor.ExtractText(extractOptions) 
 
            'TXTファイルへの書き込み
            File.WriteAllText("Extracted.txt", text)
        End Sub
    End Class
End Namespace

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

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

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