チュートリアル

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

Koohji

Koohji

数式を含む Excel ファイルを解析する場合は、数式が含まれているセルと数式が何であるかを判断して定める必要があります。この記事では、Spire.XLS for .NET ライブラリーを使用して、数式を含むセルを取得し、C# および VB.NET で数式を返す方法を学習することができます。

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

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

PM> Install-Package Spire.XLS

数式を含むセルを取得し、数式を返す

数式を含むセルを取得して数式を返す手順は次のとおりです。

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.Worksheets [sheetIndex] プロパティを使用して、インデックスで目的のワークシートを取得します。
  • StringBuilder インスタンスを作成します。
  • Worksheet.AllocatedRange プロパティを使用して、ワークシートの使用範囲にアクセスします。
  • 使用範囲内のセルをループします。
  • ループ内で、CellRange.HasFormula プロパティを使用してセルに数式が含まれているかどうかを検出します。結果が true の場合は、CellRange.RangeAddressLocal プロパティと CellRange.Formula プロパティを使用してセルの名前と数式を取得します。次に、StringBuilder.AppendLine() メソッドを使用してそれらを StringBuilder に追加します。
  • File.WriteAllText() メソッドを使用して、StringBuilder のコンテンツを .txt ファイルに書き込みます。
  • C#
  • VB.NET
using Spire.Xls;
using System.IO;
using System.Text;

namespace ReadFormulas
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbook インスタンスを作成する
            Workbook workbook = new Workbook();
            //Excel ドキュメントをロード
            workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Formulas.xlsx");

            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //StringBuilderインスタンスを作成する
            StringBuilder sb = new StringBuilder();

            //ワークシートの使用範囲にアクセスする
            CellRange usedRange = sheet.AllocatedRange;
            //使用範囲内のセルをループする
            foreach (CellRange cell in usedRange)
            {
                //現在のセルに数式があるかどうかを検出する
                if (cell.HasFormula)
                {
                    //セル名を取得する
                    string cellName = cell.RangeAddressLocal;
                    //数式を取得する
                    string formula = cell.Formula;
                    //セル名と数式をStringBuilderに追加する
                    sb.AppendLine(cellName + " has a formula: " + formula);
                }
            }
            // StringBuilderのコンテンツを.txtファイルに書き込む
            File.WriteAllText("formulas.txt", sb.ToString());
        }
    }
}
Imports Spire.Xls
Imports System.IO
Imports System.Text
 
Namespace ReadFormulas
    Class Program
        static void Main(string() args)
        {
            'Workbook インスタンスを作成する
            Dim workbook As Workbook =  New Workbook() 
            'Excel ドキュメントをロード
            workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Formulas.xlsx")
 
            '最初のワークシートを取得する
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
 
            'StringBuilderインスタンスを作成する
            Dim sb As StringBuilder =  New StringBuilder() 
 
            'ワークシートの使用範囲にアクセスする
            Dim usedRange As CellRange =  sheet.AllocatedRange 
            '使用範囲内のセルをループする
            Dim cell As CellRange
            For Each cell In usedRange
                '現在のセルに数式があるかどうかを検出する
                if (cell.HasFormula)
                {
                    'セル名を取得する
                    Dim cellName As String =  cell.RangeAddressLocal 
                    '数式を取得する
                    Dim formula As String =  cell.Formula 
                    'セル名と数式をStringBuilderに追加する
                    sb.AppendLine(cellName + " has a formula: " + formula)
                }
            Next
            ' StringBuilderのコンテンツを.txtファイルに書き込む
            File.WriteAllText("formulas.txt", sb.ToString())
        }
    End Class
End Namespace

C#/VB.NET Excel の数式を読む方法

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

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

場合によっては、ドキュメントを圧縮するために、カラー PDF をグレースケールあるいは無彩色のページのドキュメントに変換する必要があります。この記事では、Spire.PDF for Java を使用して、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.3.1</version>
    </dependency>
</dependencies>

PDF をグレースケールに変換する

主な手順は次のとおりです。

  • PdfGrayConverter クラスのインスタンスを作成し、PDF サンプルドキュメントをロードします。
  • PdfGrayConverter.toGrayPdf() メソッドをコールして、グレースケール PDF を変換します。
  • Java コード一覧
import com.spire.pdf.conversion.*;

public class ToGrayPDF {
    public static void main(String[] args) {
        // PdfGrayConverter インスタンスを作成し、PDF ドキュメントをロードする
        PdfGrayConverter converter = new PdfGrayConverter("sample.pdf");

        //カラー PDF をグレースケールに変換する
        converter.toGrayPdf("ToGray.pdf");
        converter.dispose();
    }
}

スクリーンショット一覧

入力した PDF ドキュメント

Java で PDF をグレースケールに変換する方法

変換されたグレースケールドキュメント

Java で PDF をグレースケールに変換する方法

今回の Spire.PDF for Java を使用して、Java で PDF ドキュメントをグレースケールに変換する方法は以上でした。最後まで読んでいただきありがとうございました。

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

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

Spire.PDF for Java 5.5.0 のリリースを発表できることをうれしく思います。このバージョンは、PDF から画像への変換、および PDF から Word への変換を強化しました。さらに、Ofd を PDF に変換した後のテキスト形式が正しくないなどいくつかの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPDF-4998 PDFを画像に変換した後、透明な背景が白くなる問題を修正しました。
Bug SPIREPDF-5002 マルチスレッドでPDFをWordに変換するときに、アプリケーションが "アイテムはすでに追加されています" をスローする問題を修正しました。
Bug SPIREPDF-5007 TiffをPDFに変換した後に効果が低下する問題を修正しました。
Bug SPIREPDF-5023 SvgをPDFに変換した後のコンテンツ形式が正しくなかった問題を修正しました。
Bug SPIREPDF-5044
SPIREPDF-5045
PDFをWordに変換するときにアプリケーションが "NullPointerException" をスローする問題を修正しました。
Bug SPIREPDF-5049 PDFをWordに変換するときにアプリケーションが "NumberFormatException" をスローする問題を修正しました。
Bug SPIREPDF-5055 フローメソッドを使用してPDFをWordに変換するときに、アプリケーションが "classcom.spire.office.packages.sprnfma" をスローする問題を修正しました。
Bug SPIREPDF-5093 PDFをHTMLに変換するときに、アプリケーションが "フォントに存在しない名前文字列を要求しました" とスローする問題を修正しました。
Bug SPIREPDF-5110 OfdをPDFに変換した後のテキスト形式が正しくなかった問題を修正しました。
ここで Spire.PDF for Java 5.5.0 をダウンロードする

Spire.XLS for Java 5.5.0 のリリースを発表できることを嬉しく思います。このバージョンは、Excel から PDF への変換機能を強化しました。さらに、ワークシートを複数回コピーした後にグラフの内容が失われる問題を修正しました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREXLS-3778 ワークシートを複数回コピーした後にグラフの内容が失われる問題を修正しました。
Bug SPIREXLS-3792 Excelに画像を追加してPDFに変換した後、コンテンツ形式が正しくなかった問題を修正しました。
Bug SPIREXLS-3811 WordをPDFに変換した後にコンテンツが失われる問題を修正しました。
ここで Spire.XLS for Java 5.5.0 をダウンロードする

Spire.Doc for Java 5.4.10 のリリースを発表できることを嬉しく思います。このバージョンは、OFD から PDF ストリームへの変換する機能をサポートしました。また、PDF から画像へ、および PDF から Excel への変換機能を強化しました。更に、テキストの強調表示効果の設定が理想的ではなかったなどの既知の問題を修正しました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPDF-5098 OFDからPDFストリームへの変換する機能をサポートしました
OfdConverter converter = new OfdConverter(inputFile);
//ストリームに保存する 
MemoryStream tempStream = new MemoryStream();
converter.ToPdf(tempStream); 
Bug SPIREPDF-2502 PDFを画像に変換した後画像が黒くなる問題を修正しました。
Bug SPIREPDF-3740 SPIREPDF-3891 システムのDPIを125%に設定した後、PDFを画像に変換した結果が正しくない問題を修正しました。
Bug SPIREPDF-4737 PDFドキュメントを印刷するときにコンテンツが中央に配置されなかった問題を修正しました。
Bug SPIREPDF-4754 PDFをExcelに変換した後、テーブルのセル分割が正しくなかった問題を修正しました。
Bug SPIREPDF-4908 PDFを画像に変換した後にコンテンツが失われる問題を修正しました。
Bug SPIREPDF-4914 PDFを画像に変換した後にレイヤーのコンテンツが失われる問題を修正しました。
Bug SPIREPDF-4916 NetStandardプラットフォームでPDFを画像に変換した後にコンテンツが下に移動する問題を修正しました。
Bug SPIREPDF-4923 Excelに変換した後にコンテンツが正しくなかった問題を修正しました。
Bug SPIREPDF-4957 Pdfレイヤーでテキストを描画し、Adobe PDFからメモ帳にテキストをコピーした後、文字が文字化けする問題を修正しました。
Bug SPIREPDF-4959
SPIREPDF-5081
PDFを印刷した後にページの内容が正しくなかった問題を修正しました。
Bug SPIREPDF-4976 SPIREPDF-5000 OfdをPDFに変換した後に請求書スタンプの画像が失われる問題を修正しました。
Bug SPIREPDF-4989 マージされたPDFをPDFA1Aに変換した後、PDFA1A標準の検証が失敗する問題を修正しました。
Bug SPIREPDF-5011 ブックマークのタイトルに基づいてブックマークを削除するときに、アプリケーションが "System.ArgumentOutOfRangeException" をスローする問題を修正しました。
Bug SPIREPDF-5068 PDFから画像への変換が商用バージョンのライセンスなしで10ページの制限を超えた問題を修正しました。
Bug SPIREPDF-5083 XPSドキュメントの読み込み時にアプリケーションが "System.StackOverflowException" をスローする問題を修正しました。
Bug SPIREPDF-5090 OfdをPDFに変換した後のテキスト形式が間違っていた問題を修正しました。
Bug SPIREPDF-5097 OFDファイルのロード時にアプリケーションが "ZipEntry::ReadDirEntry():Badsignature" をスローする問題を修正しました。
Bug SPIREPDF-5104 PDFから画像への変換時にアプリケーションが "System.IndexOutOfRangeException:インデックスが配列の境界外にありました" をスローする問題を修正しました。
Bug SPIREPDF-4909 PDFを画像に変換した後にページのバーコードが変更された問題を修正しました。
Bug SPIREPDF-4909 テキストの強調表示効果の設定が理想的ではなかった問題を修正しました。
ここで Spire.PDF 8.5.0 をダウンロードする

Spire.Email 5.5.0 のリリースを発表できることをうれしく思います。このバージョンでは、メッセージから添付ファイルと件名を取得できなかった問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREEMAIL-42
SPIREEMAIL-53
SPIREEMAIL-56
メッセージから添付ファイルを取得できなかった問題を修正しました。
Bug SPIREEMAIL-52 メッセージから正しい件名を取得できなかった問題を修正しました。
ここで Spire.Email 5.5.0 をダウンロードする

Spire.Office7.4.10のリリースを発表できることを嬉しく思います。このバージョンでは、Spire.Docは変換機能にデフォルトで新しいエンジンスタイルのレイアウトを有効し始めました。Spire.XLSは、ExcelをPDFおよび画像に変換する機能で、Chart2016のパレート図、サンバースト図、ヒストグラム図の変換をサポートしていました。Spire.Presentationは、ChartDataの数値形式の取得をサポートし、PowerPointからPDFへの変換を強化しました。Spire.Spreadsheetは、単一のスプレッドシートのすべての数式の計算をサポートしていました。一方、多くのバグが成功に修正されました。詳細は以下の内容を読んでください。

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

DLL Versions:
  • Spire.Doc.dll v10.4.6
  • Spire.Pdf.dll v8.4.15
  • Spire.XLS.dll v12.4.1
  • Spire.Email.dll v5.4.3
  • Spire.DocViewer.Forms.dll v7.4.0
  • Spire.PdfViewer.Forms.dll v7.4.0
  • Spire.PdfViewer.Asp.dll v7.4.0
  • Spire.Presentation.dll v7.4.5
  • Spire.Spreadsheet.dll v6.4.1
  • Spire.OfficeViewer.Forms.dll v7.4.10
  • Spire.Barcode.dll v6.4.2
  • Spire.DataExport.dll v4.4.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
ここで Spire.Office 7.4.10 をダウンロードする:

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

Spire.Doc

カテゴリー ID 説明
New feature - たとえば、次のコードがnew Documentにある場合、パラメータfalseが設定されていないと、デフォルトで新しいエンジンレイアウトが使用されます。
Document doc = new Document();
doc.LoadFromFile(@"input.docx");
doc.SaveToFile(".pdf", Spire.Doc.FileFormat.PDF); 
New feature - 古いエンジンレイアウトを使用する場合は、以下のコードを参照して、"useNewEngine"パラメーターでDocumentコンストラクターを使用し、パラメーター "useNewEngine" をfalseに設定してください。
Document doc = new Document(false);
doc.LoadFromFile(@"input.docx");
doc.SaveToFile("output.pdf", Spire.Doc.FileFormat.PDF); 
Bug SPIREDOC-6781
SPIREDOC-7496
WordをPDFに変換した後にコンテンツが失われる問題を修正しました。
Bug SPIREDOC-6922 WordをPDFに変換した後に余分な空白ページがあった問題を修正しました。
Bug SPIREDOC-7276 直接ロードして保存した後、保存されたWordファイルを開くことができなかった問題を修正しました。
Bug SPIREDOC-7358
SPIREDOC-7622
WordをPDFに変換した後にコンテンツが正しくなかった問題を修正しました。
Bug SPIREDOC-7375 Wordファイルを比較するときにアプリケーションが "System.StackOverflowException" をスローする問題を修正しました。
Bug SPIREDOC-7451 HtmlをWordに変換した後、テーブルの高さが正しくない問題を修正しました。
Bug SPIREDOC-7539 Htmlのロード時にアプリケーションが "System.FormatException" をスローする問題を修正しました。
Bug SPIREDOC-7565 WordをPDFに変換するときにアプリケーションが "System.NullReferenceException" をスローする問題を修正しました。
Bug SPIREDOC-7593 HtmlをWordに変換した後にMathが正しく表示されない問題を修正しました。
Bug SPIREDOC-7598 WordをPDFに変換した後に小数点('。')が失われる問題を修正しました。
Bug SPIREDOC-7621 画像をTextBoxに入力した後、出力効果が正しくなかった問題を修正しました。

Spire.XLS

カテゴリー ID 説明
New feature - ExcelをPDFおよび画像に変換する機能で、Chart2016のパレート図、サンバースト図、ヒストグラム図の変換をサポートするように追加されました。
Bug SPIREXLS-3654 CalculateAllValue()を実行した後、一部のセルの値が正しくなかった問題を修正しました。
Bug SPIREXLS-3676 csvファイルの読み込み時にアプリケーションが "System.NullReferenceException" をスローする問題を修正しました。
Bug SPIREXLS-3680 .xlsbファイルをロードするときにアプリケーションが "System.ArgumentOutOfRangeException" をスローする問題を修正しました。
Bug SPIREXLS-3709 ExcelをHTMLに変換した後にテキストの折り返し効果が失われる問題を修正しました。
Bug SPIREXLS-3723 Macシステムで開くときにExcelファイルから変換されたPDFコンテンツが文字化けする問題を修正しました。
Bug SPIREXLS-3732 システムDPIが125%に設定されている場合に、テキストを画像に置き換える出力効果が正しくなかった問題を修正しました。
Bug SPIREXLS-3737 Excelファイルをロードするときにアプリケーションが "無効なセル名 "をスローする問題を修正しました。
Bug SPIREXLS-3742 ExcelをCSVに変換した後の出力効果が正しくなかった問題を修正しました。
Bug SPIREXLS-3754 AllocatedRange.AutoFitColumns()およびAllocatedRange.AutoFitRows()を設定しても、一部のデータが表示されない問題を修正しました。
Bug SPIREXLS-3757 'AutoFitColumn'設定が有効にならなかった問題を修正しました。

Spire.Presentation

カテゴリー ID 説明
New feature SPIREPPT-1905 ChartDataの数値形式の取得をサポートしました。
Presentation ppt = new Presentation();
ppt.LoadFromFile(@"input.pptx", Spire.Presentation.FileFormat.Pptx2013);
IChart chart = ppt.Slides[1].Shapes[0] as IChart;
var numberFormat = chart.ChartData[1, 1].NumberFormat;
Bug SPIREPPT-518 PowerPointをPDFに変換した後にテキスト行の形式が失われる問題を修正しました。
Bug SPIREPPT-939 2つのPowerPointファイル自体が同じマスターを持っている場合に比較結果が異なる問題を修正しました。
Bug SPIREPPT-1721 チャートに新しいシリーズを追加した後、以前のシリーズ形式が失われる問題を修正しました。
Bug SPIREPPT-1844 スライドをコピーしたPowerPointファイルを保存するときにアプリケーションが "System.NullReferenceException" をスローする問題を修正しました。
Bug SPIREPPT-1859 PowerPointファイルにHtmlを追加するときにアプリケーションが "System.ArgumentException" をスローする問題を修正しました。
Bug SPIREPPT-1872 PowerPointファイルをPDFに変換した後のコンテンツ形式が正しくなかった問題を修正しました。
Bug SPIREPPT-1883 Series.Distance設定が有効にならなかった問題を修正しました。
Bug SPIREPPT-1889 リージョンがドイツ語(DE)に設定されている場合に、PowerPointファイルを画像に変換した後にコンテンツ形式が正しくない問題を修正しました。
Bug SPIREPPT-1898 テーブルテキストのフォントの色を取得するときにアプリケーションが "System.NullReferenceException" をスローする問題を修正しました。
Bug SPIREPPT-1904 保存された背景画像が正しくなかった問題を修正しました。
Bug SPIREPPT-1913 PowerPointファイルにHtmlを追加するときにアプリケーションが "System.ArgumentOutOfRangeException" をスローする問題を修正しました

Spire.Spreadsheet

カテゴリー ID 説明
New feature SPREADSHEET-196 単一のスプレッドシートのすべての数式の計算をサポートしました。
spreadsheet1.ActiveWorksheet.CalculateAllValue() 
Bug SPREADSHEET-194 一部の特殊フォントが正しく表示されなかった問題を修正しました。
Bug SPREADSHEET-197 一部のプロパティ名が文字化けする問題を最適化しました。
Bug SPREADSHEET-198 数式の計算に失敗した問題を修正しました。

Spire.PDF

カテゴリー ID 説明
Bug SPIREPDF-349
SPIREPDF-372
SPIREPDF-377
XPSをPDFに変換した後にコンテンツが正しくなかった問題を修正しました。
Bug SPIREPDF-386 XPSをPDFに変換するときにアプリケーションが "OutOfMemoryException" をスローする問題を修正しました。
Bug SPIREPDF-438 PDFフィールドにサインインした後に署名が表示されなかった問題を修正しました。
Bug SPIREPDF-668 PDFを画像に変換した後の色が正しくない問題を修正しました。
Bug SPIREPDF-794 背景画像を追加し、BackgroudOpacityの値を設定した後、出力効果が正しくなかった問題を修正しました。
Bug SPIREPDF-1118 PDFファイルをマージした後の出力効果が正しくなかった問題を修正しました。
Bug SPIREPDF-4934 Net5.0で "€" を描画するときに出力が文字化けする問題を修正しました。
Bug SPIREPDF-4953 作成したテンプレートを描画するときに空白のページがあった問題を修正しました。
Bug SPIREPDF-4984 PDFを画像に変換するときにアプリケーションが "System.ArgumentOutOfRangeException" をスローする問題を修正しました。
Bug SPIREPDF-5009 PDFページを回転させた後、保存された画像が回転されなかった問題を修正しました。
Bug SPIREPDF-5012 PDFページのテキストを抽出した後に余分なスペースがあった問題を修正しました。
Bug SPIREPDF-5014 PDFファイルをマージした直後にメモリ消費が解放されなかった問題を修正しました。
Bug SPIREPDF-5031 PDFをWordに変換するときにアプリケーションが「IndexOutOfRangeException」をスローする問題を修正しました。
Bug SPIREPDF-5072 画像を削除した後、コンテンツが正しくなかった問題を修正しました。

Spire.Barcode

カテゴリー ID 説明
Bug SPIREBARCODE-213 データに "-" が含まれている場合に生成されるバーコードが正しくない問題を修正しました。

ヘッダーは、多くの場合、ドキュメントの追加情報を表示するために使用されます。時間、グラフィックス、会社のロゴ、ドキュメントのタイトル、ファイル名、作成者名などを挿入できます。この記事では、Spire.PDF for Java を使用して 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.cn/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>5.2.3</version>
    </dependency>
</dependencies>

ヘッダーを追加する

Java コード一覧

  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;

public class addDifferentHeaders {
    public static void main(String[] args) {
        String output = "output/addDifferentHeaders.pdf";

        //サンプルPDFドキュメントをロードする
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("Sample.pdf");
        String header1 = "Add header by Spire.PDF";
        String header2 = "Different header";

        //スタイルを定義する
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial",  Font.BOLD,12));
        PdfBrush brush= PdfBrushes.getBlue();
        Rectangle2D rect = new Rectangle2D.Float();
        Dimension2D dimension2D = new Dimension();
        dimension2D.setSize(doc.getPageSettings().getSize().getWidth(),50f);
        rect.setFrame(new Point2D.Float(0, 20), dimension2D);
        PdfStringFormat format=new PdfStringFormat();
        format.setAlignment(PdfTextAlignment.Center);
        //最初のページにヘッダーを追加する
        doc.getPages().get(0).getCanvas().drawString(header1,font,brush,rect,format);

        //2ページ目のヘッダーを追加する
        format.setAlignment( PdfTextAlignment.Left);
        doc.getPages().get(1).getCanvas().drawString(header2, font, brush, rect, format);

        //ドキュメントを保存する
        doc.saveToFile(output, FileFormat.PDF);
    }
}

スクリーンショット一覧

ヘッダーを追加した PDF ドキュメント

Java で PDF に複数のヘッダーを追加する方法

Java で PDF に複数のヘッダーを追加する方法

今回の Java を使用して PDF に複数のヘッダーを追加する方法は以上でした。最後まで読んでいただきありがとうございました。

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

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

Spire.Doc 10.4.6 のリリースを発表できることを嬉しく思います。このバージョンは、デフォルトで変換機能の新しいエンジンスタイルのレイアウトを有効し始めました。new Document では、パラメータ false が設定されていない場合、デフォルトで新しいエンジンレイアウトが使用されます。また、古いエンジンレイアウトを使用する場合は、"useNewEngine" パラメーターを指定して Document コンストラクターを使用し、パラメーター "useNewEngine" を false に設定する必要があります。さらに、Document.UseNewEngine は値を設定できなくなり、値を取るのみできます。詳細は以下の内容を読んでください。

このリリースで行われた変更は次のとおりです
カテゴリー ID 説明
New feature - たとえば、次のコードが new Document にある場合、パラメータ false が設定されていないと、デフォルトで新しいエンジンレイアウトが使用されます。
Document doc = new Document();
doc.LoadFromFile(@"input.docx");
doc.SaveToFile(".pdf", Spire.Doc.FileFormat.PDF);
New feature - 古いエンジンレイアウトを使用する場合は、以下のコードを参照して、"useNewEngine" パラメーターで Document コンストラクターを使用し、パラメーター "useNewEngine" を false に設定してください。
Document doc = new Document(false);
doc.LoadFromFile(@"input.docx");
doc.SaveToFile("output.pdf", Spire.Doc.FileFormat.PDF);
ここで Spire.Doc 10.4.6 をダウンロードする

当社は、製品ごとに試用版を提供しています。登録ユーザーは、当社の Web サイトから製品を無料でダウンロードして試すことができます。試用版では、製品の機能に制限はありませんが、試用版では、結果ドキュメントに評価情報のワークシート(Spire.XLS)または警告の行という別の内容が追加されます。ライセンスを購入すると、.xml 形式のライセンスファイルがメールでお客様に届きます。このファイルを適用すると、警告メッセージが削除されます。

次は、ライセンスファイルおよびその使用方法について詳しく説明します。主に以下の点が含まれます。

ライセンスファイルの概要

ライセンスファイルは XML 形式のファイルであり、購入者のユーザー名、電子メールアドレス、組織、ライセンス日付、製品名、製品バージョン、ライセンスされた開発者とライセンスされた Web サイトの数などの情報が含まれています。ライセンスファイルはデジタル署名されているため、変更しないでください。

E-ICEBLUE 製品でさまざまな操作を行う前にライセンスを適用する必要がありますが、各アプリケーションまたはプロセスごとに 1 回だけです。

ライセンスファイルの適用方法

E-ICEBLUE 製品を使用して操作を行うと、ライセンスモジュールは、ライセンスが既にロードされているかどうかを検出します。ロードされていない場合、ライセンスモジュールはそれをロードしようと試します。ライセンスは、ファイル、ストリーム、または埋め込みリソースから明示的または暗黙的にロードできます、そしてデフォルトは暗黙的です。

ご注意:暗黙的または明示的な呼び出し方法に関係なく、E-ICEBLUE 製品を使用する前にライセンスファイルを適用するのが必要です。

暗黙的にロード

このモードでは、ライセンスモジュールは次の場所でライセンスファイルを検索しようとします。

  • ランタイムエントリアセンブリ(.exe という名前のアセンブリ)を含むフォルダー
  • E-ICEBLUE 製品アセンブリの埋め込みリソースを呼び出す
  • ランタイムアセンブリによって参照される E-ICEBLUE 製品アセンブリ(Spire.Doc.dll、Spire.XLS.dllなど)を含むフォルダー
  • 実行時に E-ICBLUE 製品を呼び出すアセンブリを含むフォルダー

E-ICEBLUE からライセンスを取得する場合、デフォルト名は license.elic.xml です。上記のどこの場所で置いても構いません。ライセンスモジュールは、アプリケーションから自動的にロードできます。そして、ライセンスファイルの名前を変更することもできます。変更する場合は、E-ICBLUE 製品で何かを行う前に、新しいファイル名をライセンスモジュールに通知する必要があります。例を挙げよう。

  • C#
  • VB.NET
//ライセンスの名前をライセンスモジュールに通知する。
Spire.License.LicenseProvider.SetLicenseFileName("your-license-file-name");
//ライセンスの名前をライセンスモジュールに通知する。
Spire.License.LicenseProvider.SetLicenseFileName("your-license-file-name");

ライセンス名は、ライセンスモジュールを使用して検索することで取得できます。次に例を示します。

  • C#
  • VB.NET
//ライセンスのデフォルト名を取得する
String fileName = Spire.License.LicenseProvider.GetLicenseFileName();
//ライセンスのデフォルト名を取得する
Dim fileName As String = Spire.License.LicenseProvider.GetLicenseFileName()

明示的にロード

このモードでは、ライセンスモジュールは、提供された特定のファイルまたはストリームからライセンスをロードしようとします。

フルパス名でライセンスファイルを明示的に指定します。

  • C#
  • VB.NET
//ライセンスファイルのフルパス名を指定する
Spire.License.LicenseProvider.SetLicenseFileFullPath(@"D:\myApp\license.lic.xml");
//ライセンスファイルのフルパス名を指定する
Spire.License.LicenseProvider.SetLicenseFileFullPath(@"D:\myApp\license.lic.xml");

FileInfo オブジェクトを介してライセンスファイルを明示的に指定する

  • C#
  • VB.NET
//FileInfoオブジェクトを介してライセンスファイルを指定する
FileInfo licenseFile = new FileInfo(@"D:\myApp\license.lic.xml");
Spire.License.LicenseProvider.SetLicenseFile(licenseFile);
//FileInfoオブジェクトを介してライセンスファイルを指定する
Dim licenseFile As New FileInfo("D:\myApp\license.lic.xml")
Spire.License.LicenseProvider.SetLicenseFile(licenseFile)

ライセンスデータフローを提供します

  • C#
  • VB.NET
//ライセンスデータフローを介してライセンスを指定する
Stream stream = File.OpenRead(@"D:\myApp\license.lic.xml");
Spire.License.LicenseProvider.SetLicenseFileStream(stream);
//ライセンスデータフローを介してライセンスを指定する
Dim stream As Stream = File.OpenRead("D:\myApp\license.lic.xml")
Spire.License.LicenseProvider.SetLicenseFileStream(stream)

参照:ライセンスキーを介してライセンスを適用する方法

ライセンスファイルを埋め込みリソースとして適用する方法

配布と展開を簡単にするため、ライセンスファイルを埋め込みリソースとして呼び出し元の E-ICEBLUE 製品アセンブリに含むのは良い方法です。ライセンスを失うことも一切ありません。次の手順に従って、ライセンスファイルを Visual Studio に埋め込みリソースとして含めることができます。

  • ソリューションマネージャーで、プロジェクトを右クリックし、「追加」、「既存のプロジェクトの追加」メニューをクリックします。
  • ファイルブラウザを開くダイアログでライセンスファイルを見つけ、「追加」ボタンをクリックしてプロジェクトに追加します。
  • ソリューションマネージャーでライセンスファイルを選択し、プロパティウィンドウで作成方法を埋め込みリソースに設定します。
  • ライセンスファイルの名前がデフォルトで license.elic.xml でない場合は、コードで Spire.License.LicenseProvider.SetLicenseFileName メソッドを呼び出して、ライセンスモジュールに実際の名前を伝えます。

ライセンスを適用する方法

参照:ライセンスキーを介してライセンスを適用する方法

Web サイトでライセンスファイルを適用する方法

Web サイトでライセンスファイルを適用する場合は、Web サイトで参照されているアセンブリを含む Bin フォルダーにライセンスファイルをコピーするだけです。

ライセンスを適用する方法

参照:ライセンスキーを介してライセンスを適用する方法

ライセンスキーを使用してライセンスファイルを適用する方法

場合によっては、権限の不足やその他の理由でアプリケーションがライセンスファイルを読み取れないことがあります。その場合は、Spire.License.LicenseProvider.SetLicenseKey(String key)メソッドを呼び出してライセンスを適用できます。Key パラメーターは、xml ライセンスファイルの要素の Key 属性の値です。当社の製品で何かを行う前にライセンスが正常に適用されることを確認するために、entry メソッドの最初の行でこのメソッドを呼び出すことをお勧めします。

  • C#
  • VB.NET
  • Java
//ライセンスキーを登録する
Spire.License.LicenseProvider.SetLicenseKey("your license key");
//ライセンスキーを登録する
Spire.License.LicenseProvider.SetLicenseKey("your license key")
//ライセンスキーを登録する
com.spire.license.LicenseProvider.setLicenseKey("your license key");
  • WinForm アプリケーションまたはコンソールアプリケーションの場合は、上記のコードを main メソッドに追加する必要があります。
  • Web アプリケーションの場合は、Global.asax をプロジェクトに追加してから、上記のメソッドコードを Application_Start メソッドに追加する必要があります。
  • Silverlight アプリケーションの場合は、上記のメソッドコードを App.Application_Startup メソッドに追加します。App クラスが SliverlightAppEntry であると仮定しましょう。

2つまたはそれ以上のライセンスファイルを同時に適用する方法

アプリケーションに 2 つ以上のライセンスを適用するのが必要です。それを実現するには 2 つの方法があります。

ライセンスキーを使用して 2 つ以上のライセンスを適用する場合は、メソッド全体の最初に次のメソッドを呼び出すことができます。

  • C#
  • Java
Spire.Doc.License.LicenseProvider.SetLicenseKey("your license key");
Spire.Doc.License.LicenseProvider.LoadLicense();
Spire.Xls.License.LicenseProvider.SetLicenseKey("your license key");  
Spire.XLs.License.LicenseProvider.LoadLicense();
Spire.Pdf.License.LicenseProvider.SetLicenseKey("your license key");  
Spire.Pdf.License.LicenseProvider.LoadLicense();
Spire.Presentation.License.LicenseProvider.SetLicenseKey("your license key");  
Spire.Presentation.License.LicenseProvider.LoadLicense();
com.spire.license.LicenseProvider.setLicenseKey("your license key1");
com.spire.license.LicenseProvider.loadLicense();
com.spire.license.LicenseProvider.setLicenseKey("your license key2");
com.spire.license.LicenseProvider.loadLicense();

ライセンスファイルを介してライセンスを適用する場合は、次のメソッドを呼び出してください。

  • C#
Spire.License.LicenseProvider.SetLicenseFileName("license1.elic.xml");
Spire.License.LicenseProvider.LoadLicense();
Spire.License.LicenseProvider.SetLicenseFileName("license2.elic.xml");
Spire.License.LicenseProvider.LoadLicense();