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

.NET ドキュメント処理ワークフローにおいて、C# で TIFF を PDF に変換することは一般的な要件です。開発者は、スキャン文書や複数ページの TIFF ファイルを PDF 形式に変換して、互換性の向上、配布プロセスの簡素化、標準化されたドキュメント管理を実現する必要があります。
TIFF ファイルはスキャンおよびアーカイブシステムで広く使用されており、特に単一ファイルに複数のページを保存する場合に適しています。ただし、この形式は共有やクロスプラットフォームでの閲覧時に必ずしも理想的ではなく、PDF はより普遍的で一貫性のあるフォーマットを提供します。
Spire.PDF for .NET を使用すると、簡潔で信頼性の高い C# コードを使用して TIFF 画像を効率的に PDF に変換できます。本記事では、.NET で TIFF から PDF への変換を実行する方法を示し、複数ページの TIFF 画像の処理、ページレイアウトの調整、実際のシナリオにおけるベストプラクティスの適用について説明します。
目次
TIFF(タグ付き画像ファイル形式)は、単一ファイルに複数のページを含めることができる柔軟な画像形式です。この特性により、以下のシナリオで広く利用されています。
TIFF を PDF に変換することには、次のような利点があります。
このセクションでは、Spire.PDF を使用して C# で TIFF 画像を PDF に変換する手順の例を提供します。
まず、NuGet パッケージマネージャーを使用してライブラリをインストールします。
Install-Package FreeSpire.PDF
または、.NET CLI を使用します。
dotnet add package FreeSpire.PDF
Spire.PDF for .NET パッケージをダウンロードして、プロジェクトに手動で追加することも可能です。
単一ページの TIFF ファイルの場合、最も簡単な方法は元の画像サイズに一致する PDF ページを作成し、画像を直接ページに描画することです。これにより、TIFF コンテンツが PDF ページ全体に完全に填充され、不要な余白やスケーリングの問題を回避できます。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
// TIFF 画像を読み込む
PdfImage tiffImage = PdfImage.FromFile("Sample_Page.tiff");
// 新しい PDF ドキュメントを作成する
PdfDocument pdf = new PdfDocument();
// デフォルトのページ余白を削除する
pdf.PageSettings.Margins.All = 0;
// 画像サイズを取得する
float width = tiffImage.PhysicalDimension.Width;
float height = tiffImage.PhysicalDimension.Height;
// TIFF 画像と同じサイズの PDF ページを追加する
PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
// 画像を描画してページを完全に埋める
page.Canvas.DrawImage(tiffImage, 0, 0, width, height);
// PDF ドキュメントを保存する
pdf.SaveToFile("Sample_Page.pdf");
pdf.Close();
以下は変換結果のプレビューです。

主要な API の説明:
PdfImage.FromFile: TIFF 画像を PDF 互換オブジェクトとして読み込むPageSettings.Margins.All: デフォルトの余白を削除して全ページレンダリングを実現Pages.Add(SizeF): TIFF サイズに正確に一致する PDF ページを作成Canvas.DrawImage: TIFF 画像を描画してページを完全に埋めるSaveToFile: 変換後の PDF ファイルを保存この方法では元の TIFF サイズが保持され、出力された PDF で画像コンテンツがページ全体に鮮明に表示されることが保証されます。
画像から PDF への変換に関するその他のシナリオについては、C# で画像を PDF に変換する方法 を参照してください。
複数ページの TIFF ファイルには複数のフレームが含まれており、各フレームは独立したページを表します。変換プロセスでは、各フレームを反復処理し、現在の TIFF フレームにサイズが一致する PDF ページを作成して、元のレイアウトを保持する必要があります。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Imaging;
// 複数ページの TIFF ファイルを読み込む
Image tiffImage = Image.FromFile("Sample.tiff");
// フレーム情報を取得する
FrameDimension dimension = new FrameDimension(tiffImage.FrameDimensionsList[0]);
int frameCount = tiffImage.GetFrameCount(dimension);
// 新しい PDF ドキュメントを作成する
PdfDocument pdf = new PdfDocument();
// デフォルトの余白を削除する
pdf.PageSettings.Margins.All = 0;
// 各 TIFF フレームを処理する
for (int i = 0; i < frameCount; i++)
{
// 現在のフレームを選択する
tiffImage.SelectActiveFrame(dimension, i);
// 現在のフレームを PdfImage に変換する
PdfImage pdfImage = PdfImage.FromImage(tiffImage);
// 現在のフレームサイズを取得する
float width = pdfImage.PhysicalDimension.Width;
float height = pdfImage.PhysicalDimension.Height;
// フレームサイズに一致する PDF ページを作成する
PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
// フレームを描画してページを埋める
page.Canvas.DrawImage(pdfImage, 0, 0, width, height);
}
// PDF ドキュメントを保存する
pdf.SaveToFile("Sample.pdf");
pdf.Close();
// リソースを解放する
tiffImage.Dispose();
以下は変換結果のプレビューです。

核心概念の解説:
FrameDimension: 複数ページの TIFF ファイル内のフレームコレクションを識別GetFrameCount: TIFF ファイルの総ページ数を取得SelectActiveFrame: 指定された TIFF フレームに切り替えて処理Pages.Add(SizeF): 各 TIFF ページにサイズが一致する PDF ページを作成Canvas.DrawImage: 各 TIFF フレームを対応する PDF ページにレンダリングこの方法では、元の TIFF ファイル内のすべてのページが完全に保持され、各ページが PDF キャンバスを完全に占有することが保証され、追加の余白やスケーリングによる歪みが発生しません。
一部のワークフローでは、出力される PDF が印刷、ドキュメント共有、またはアーカイブのために標準的なページサイズ(A4 や Letter など)に従う必要があります。この場合、元の TIFF サイズに基づいて PDF ページを作成するのではなく、画像を比例スケーリングして固定ページサイズに適合させ、水平方向に中央揃えにすることができます。
using Spire.Pdf;
using Spire.Pdf.Graphics;
PdfDocument pdf = new PdfDocument();
PdfImage image = PdfImage.FromFile("Sample_Page.tiff");
// 余白付きの A4 ページを作成する
PdfPageBase page = pdf.Pages.Add(PdfPageSize.A4, new PdfMargins(20));
// 比例スケーリングを計算する
float scale = Math.Min(
page.Canvas.ClientSize.Width / image.PhysicalDimension.Width,
page.Canvas.ClientSize.Height / image.PhysicalDimension.Height
);
// 最終的な画像サイズを計算する
float width = image.PhysicalDimension.Width * scale;
float height = image.PhysicalDimension.Height * scale;
// 水平方向に中央揃えし、上部に配置
float x = (page.Canvas.ClientSize.Width - width) / 2;
// 画像を PDF ページに描画する
page.Canvas.DrawImage(image, x, 0, width, height);
// PDF ファイルを保存する
pdf.SaveToFile("Sample_Page1.pdf");
pdf.Close();
生成された PDF は標準的なページサイズに適合し、同時に元の画像のアスペクト比を保持します。

この方法を採用する利点:
TIFF ファイルを元のサイズを保持するのではなく、標準化された PDF レイアウトに適合させる必要がある場合、この方法が特に効果的です。
さらに多くの C# を使用した PDF レイアウトとページ設定のチュートリアル を探索することも可能です。
本番環境では、通常、変換プロセスに対してよりきめ細かい制御が必要です。
ドキュメント管理システム、スキャンアーカイブ、または自動化ワークフローでは、一度に複数の TIFF ファイルを PDF 形式に変換する必要がある場合があります。次の例では、フォルダー内のすべての TIFF ファイルを処理し、各ファイルを個別の PDF に変換しながら、元の画像サイズを保持します。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.IO;
string inputFolder = @"C:\Documents\TIFF";
string outputFolder = @"C:\Documents\PDF";
// 出力フォルダーが存在しない場合は作成する
Directory.CreateDirectory(outputFolder);
// フォルダー内のすべての TIFF ファイルを処理する
foreach (string tiffFile in Directory.GetFiles(inputFolder, "*.tiff"))
{
PdfImage image = PdfImage.FromFile(tiffFile);
using (PdfDocument pdf = new PdfDocument())
{
// TIFF サイズに一致する PDF ページを作成する
PdfPageBase page = pdf.Pages.Add(
new SizeF(
image.PhysicalDimension.Width,
image.PhysicalDimension.Height
)
);
// TIFF 画像をページに描画する
page.Canvas.DrawImage(
image,
0,
0,
image.PhysicalDimension.Width,
image.PhysicalDimension.Height
);
// 出力ファイルパスを生成する
string outputFile = Path.Combine(
outputFolder,
Path.GetFileNameWithoutExtension(tiffFile) + ".pdf"
);
// PDF を保存する
pdf.SaveToFile(outputFile);
}
}
バッチ変換の利点:
この方法は、大量の単一ページ TIFF ファイルを変換するのに最適です。フォルダーに複数ページの TIFF ドキュメントが含まれている場合は、この方法を前述の複数ページ変換ロジックと組み合わせることができます。
複数の TIFF 画像を単一の PDF ドキュメントに統合する必要がある場合、各 TIFF ファイルを個別の PDF ページとして追加できます。これは、スキャン文書、請求書、または画像ベースのレポートを統合する際に役立ちます。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
string[] tiffFiles =
{
"Page1.tiff",
"Page2.tiff",
"Page3.tiff"
};
PdfDocument pdf = new PdfDocument();
foreach (string file in tiffFiles)
{
PdfImage image = PdfImage.FromFile(file);
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// TIFF サイズに一致するページを作成する
PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
// TIFF 画像を描画する
page.Canvas.DrawImage(image, 0, 0, width, height);
}
// 統合された PDF を保存する
pdf.SaveToFile("CombinedDocument.pdf");
pdf.Close();
TIFF ファイルを統合する利点:
各 TIFF ファイルが単一の PDF ドキュメント内の個別のページとして表示される必要がある場合、この方法が最適です。
大型の複数ページ TIFF ファイルは、変換プロセス中に大量のメモリを消費します。パフォーマンスを向上させるために、各フレームを順次処理し、使用直後にリソースを解放することをお勧めします。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Imaging;
// 大型の TIFF ファイルを効率的に処理する
using (Image tiffImage = Image.FromFile("LargeDocument.tiff"))
using (PdfDocument pdf = new PdfDocument())
{
FrameDimension dimension =
new FrameDimension(tiffImage.FrameDimensionsList[0]);
int frameCount = tiffImage.GetFrameCount(dimension);
for (int i = 0; i < frameCount; i++)
{
// 現在のフレームをアクティブにする
tiffImage.SelectActiveFrame(dimension, i);
using (PdfImage image = PdfImage.FromImage(tiffImage))
{
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// フレームサイズに一致するページを作成する
PdfPageBase page = pdf.Pages.Add(
new SizeF(width, height)
);
// 現在のフレームを描画する
page.Canvas.DrawImage(
image,
0,
0,
width,
height
);
}
}
pdf.SaveToFile("LargeDocument.pdf");
}
メモリ最適化のテクニック:
using ステートメントを使用してリソースを自動的に解放この方法は、大型のアーカイブ TIFF ファイル、医療スキャン、企業ドキュメント移行タスクに特に有用です。
TIFF を PDF に変換する際、開発者は以下のような一般的な問題に遭遇する可能性があります。
問題: PDF 出力に最初のページのみが表示される。
原因: TIFF ファイル内のすべてのフレームが正しく反復処理されていない。
解決策: GetFrameCount と SelectActiveFrame を使用して各フレームを処理する。
int frameCount = tiffImage.GetFrameCount(dimension);
for (int i = 0; i < frameCount; i++)
{
tiffImage.SelectActiveFrame(dimension, i);
// 各フレームを処理する
}
問題: 画像が引き伸ばされたり、PDF ページに正しく適合しない。
原因: TIFF を固定サイズページ(A4 など)に適合させる際に、スケーリング計算が正しくない。
解決策: アスペクト比を保持する比例スケーリングアルゴリズムを使用する。
float scale = Math.Min(
page.Canvas.ClientSize.Width / image.PhysicalDimension.Width,
page.Canvas.ClientSize.Height / image.PhysicalDimension.Height
);
float width = image.PhysicalDimension.Width * scale;
float height = image.PhysicalDimension.Height * scale;
問題: 大型の TIFF ファイルを処理する際にパフォーマンスが遅くなったり、メモリ不足エラーが発生する。
原因: 複数ページの TIFF がメモリに読み込まれ、リソースが適時に解放されていない。
解決策: フレームを順次処理し、適時にリソースを解放する。
using (Image tiffImage = Image.FromFile("Large.tiff"))
using (PdfDocument pdf = new PdfDocument())
{
// フレームを逐个処理する
}
問題: 一部の TIFF ファイルを読み込む際にエラーが発生する。
原因: TIFF ファイルが非標準の圧縮またはカラー形式を使用している。
解決策: TIFF ファイルがライブラリでサポートされている標準形式を使用していることを確認する。
Spire.PDF for .NET を使用して C# で TIFF を PDF に変換することは、簡潔で効率的なプロセスです。このライブラリは、単一ページおよび複数ページの TIFF ファイルを処理するための包括的なメソッドを提供し、同時に画像品質とレイアウトの正確性を保持します。
本記事で示された例とベストプラクティスに従うことで、開発者はドキュメントアーカイブ、バッチ処理、企業ドキュメント管理システムなど、さまざまなシナリオに対応する信頼性の高い TIFF から PDF への変換を実装できます。
Spire.PDF for .NET の機能を評価したい場合は、無料トライアルライセンスを申請 できます。
FrameDimension を使用して TIFF ファイル内の各フレームにアクセスし、各フレームに対して個別の PDF ページを作成します。GetFrameCount メソッドはフレームの総数を返し、SelectActiveFrame を使用して各フレームを逐次処理できます。
専用ライブラリ(Spire.PDF for .NET など)を使用することが、最も信頼性が高く効率的なソリューションを提供します。最小限のコードで画像の読み込みと PDF の生成を処理し、複数ページの TIFF ファイルを全面的にサポートします。
未圧縮の TIFF ファイルと比較して、PDF 圧縮は通常ファイルサイズを縮小できます。ただし、実際のサイズ縮小幅は、元の TIFF 圧縮方式、画像コンテンツ、PDF 設定によって異なります。高解像度画像は依然として较大的な PDF ファイルになる可能性があります。
はい。Spire.PDF for .NET は独立して動作し、Microsoft Office、Adobe Acrobat、または他の外部ソフトウェアを必要としません。独自のレンダリングエンジンを使用してすべての変換操作を実行します。
画像品質を保持するには、不要なスケーリングを回避し、PDF ページサイズを TIFF 画像サイズに正確に一致させて最適な効果を得ることが推奨されます。
PDF ドキュメントは、クロスプラットフォームでの互換性が高く、元のレイアウトや書式を保持できることから、情報共有の手段として広く利用されています。しかし、Web 技術の進化に伴い、Web サイトや各種オンラインプラットフォームに簡単に統合できるコンテンツへの需要が高まっています。このような背景から、PDF を HTML 形式に変換することの価値がますます高まっています。PDF ファイルをより柔軟でアクセスしやすい HTML に変換することで、ユーザーは Web 環境において PDF の情報をより効果的に活用、共有、再利用できるようになります。本記事では、Spire.PDF for .NET を使用して、C# で PDF ファイルを HTML 形式に変換する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを、.NET プロジェクトの参照として追加する必要があります。これらの DLL ファイルは、このリンクからダウンロードするか、NuGet からインストールすることもできます。
PM> Install-Package Spire.PDF
PDF ドキュメントを HTML 形式に変換するには、Spire.PDF for .NET が提供する PdfDocument.SaveToFile(string fileName, FileFormat.HTML) メソッドを使用できます。具体的な手順は次のとおりです。
using Spire.Pdf;
namespace ConvertPdfToHtml
{
internal class Program
{
static void Main(string[] args)
{
// PdfDocumentクラスのインスタンスを作成する
PdfDocument doc = new PdfDocument();
// PDF ドキュメントをロードする
doc.LoadFromFile("Sample.pdf");
// PDF ドキュメントを HTML 形式で保存する
doc.SaveToFile("PdfToHtml.html", FileFormat.HTML);
doc.Close();
}
}
}

PdfConvertOptions.SetPdfToHtmlOptions() メソッドを使用すると、PDFファイルをHTMLに変換する際の変換オプションをカスタマイズできます。このメソッドには複数のパラメーターがあり、変換プロセスを設定するために使用できます。主なパラメーターは次のとおりです。
以下の手順では、Spire.PDF for .NET を使用して PDF を HTML に変換する際に、変換オプションをカスタマイズする方法を説明します。
using Spire.Pdf;
namespace ConvertPdfToHtmlWithCustomOptions
{
internal class Program
{
static void Main(string[] args)
{
// PdfDocumentクラスのインスタンスを作成する
PdfDocument doc = new PdfDocument();
// PDF ドキュメントをロードする
doc.LoadFromFile("Sample.pdf");
// 変換オプションを設定して、結果の HTML に画像を埋め込み、HTML ファイルごとに 1 ページに制限します。
PdfConvertOptions pdfToHtmlOptions = doc.ConvertOptions;
pdfToHtmlOptions.SetPdfToHtmlOptions(false, true, 1);
// PDF ドキュメントを HTML 形式で保存する
doc.SaveToFile("PdfToHtmlWithCustomOptions.html", FileFormat.HTML);
doc.Close();
}
}
}
PDF ドキュメントを HTML ファイルとして保存する代わりに、PdfDocument.SaveToStream(Stream stream, FileFormat.HTML) メソッドを使用して、HTML ストリームとして保存することもできます。具体的な手順は次のとおりです。
using Spire.Pdf;
using System.IO;
namespace ConvertPdfToHtmlStream
{
internal class Program
{
static void Main(string[] args)
{
// PdfDocumentクラスのインスタンスを作成する
PdfDocument doc = new PdfDocument();
// PDF ドキュメントをロードする
doc.LoadFromFile("Sample.pdf");
// PDF ドキュメントをHTMLストリームに保存する
using (var fileStream = new MemoryStream())
{
doc.SaveToStream(fileStream, FileFormat.HTML);
// HTML ストリームを使ってファイルに書き込むなどの操作ができるようになりました。
using (var outputFile = new FileStream("PdfToHtmlStream.html", FileMode.Create))
{
fileStream.Seek(0, SeekOrigin.Begin);
fileStream.CopyTo(outputFile);
}
}
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、について営業担当者 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF 文書をより柔軟で編集しやすい形式に変換すること、例えば Markdown 形式への変換は、開発者やコンテンツ制作者にとって一般的なニーズとなっています。このような変換は、文書編集やバージョン管理を容易にするだけでなく、異なるプラットフォームやアプリケーション間でのコンテンツの移植性を高め、特にウェブでの公開や共有に適しています。Spire.PDF for .NET を使用することで、開発者はこの変換プロセスを自動化し、生成された Markdown ファイルにおいて、元の PDF の豊富な書式や構造を維持することができます。
この記事では、Spire.PDF for .NET を使用して C# で PDF 文書を Markdown ファイルに変換する方法を示します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF for .NET を利用すると、開発者は PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書をファイルから読み込み、PdfDocument.SaveToFile(string filename, FileFormat fileFormat) メソッドを使って必要な形式に変換し保存することができます。PDF 文書を Markdown ファイルに変換する際には、保存メソッドの呼び出し時に FileFormat.Markdown 列挙型を引数として渡すだけです。
以下は具体的な手順です:
using Spire.Pdf;
namespace PDFToMarkdown
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentクラスのインスタンスを作成
PdfDocument pdf = new PdfDocument();
// PDF文書を読み込む
pdf.LoadFromFile("Sample.pdf");
// 文書をMarkdownファイルに変換
pdf.SaveToFile("output/PDFをMarkdownに変換.md", FileFormat.Markdown);
// リソースを解放
pdf.Close();
}
}
}
元の PDF 文書:

変換された Markdown ファイル:

ファイルを直接読み込んで操作する以外にも、Spire.PDF for .NET は PdfDocument.LoadFromStream() メソッドを使用してストリームから PDF 文書を読み込み、その後 PdfDocument.SaveToStream() メソッドを使用して Markdown ファイルのストリームに変換することをサポートしています。ストリームを使用することでメモリ使用量を削減し、大きなファイルの処理が可能になり、リアルタイムでのデータ転送を実現できます。また、他のシステムとのデータ交換を簡素化します。
ストリームを使って PDF 文書を Markdown ファイルに変換する具体的な手順は以下の通りです:
using Spire.Pdf;
using System.IO;
using System.Net.Http;
namespace PDFToMarkdownByStream
{
class Program
{
static async Task Main(string[] args)
{
// PdfDocumentクラスのインスタンスを作成
PdfDocument pdf = new PdfDocument();
// URLからPDF文書をバイト配列としてダウンロード
using (HttpClient client = new HttpClient())
{
byte[] pdfBytes = await client.GetByteArrayAsync("http://example.com/Sample.pdf");
// バイト配列を使用してMemoryStreamを作成
using (MemoryStream inputStream = new MemoryStream(pdfBytes))
{
// ストリームからPDF文書を読み込む
pdf.LoadFromStream(inputStream);
// Markdownファイルを保存するための別のMemoryStreamオブジェクトを作成
using (MemoryStream outputStream = new MemoryStream())
{
// PDF文書をMarkdownファイルストリームに変換
pdf.SaveToStream(outputStream, FileFormat.Markdown);
outputStream.Position = 0; // 後続の読み取りのためにストリームの位置をリセット
// 結果のストリームをアップロードまたはファイルに書き込む
await client.PostAsync("http://example.com/upload", new StreamContent(outputStream));
File.WriteAllBytes("output.md", outputStream.ToArray());
}
}
}
// リソースを解放
pdf.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
画像は、さまざまなデバイスで簡単に共有できるデバイスフレンドリーなファイル形式です。しかし、状況によっては、画像の代わりに PDF のようなより専門的なフォーマットが必要になります。この記事では、C# と VB.NET で Spire.PDF for .NET を使って画像を PDF に変換する方法を説明します。
Spire.PDF は、画像を PDF に変換する簡単な方法を提供していません。しかし、新しい PDF ドキュメントを作成し、特定のページの指定された位置に画像を描画することはできます。画像と同じページサイズで PDF を生成するかどうかによって、このトピックは以下の2つのサブトピックに分けることができます。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
以下は、Spire.PDF for .NET を使用して、新しい PDF ドキュメントの一部として画像を追加する手順です。
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace AddImageToPdf
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成します
PdfDocument pdf = new PdfDocument();
// 余白を設定します
pdf.PageSettings.SetMargins(20);
// ページを追加します
PdfPageBase page = pdf.Pages.Add();
// 画像を読み込みます
Image image = Image.FromFile("サンプル.jpg");
// 画像の幅と高さを取得します
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// PdfImage変数を宣言します
PdfImage pdfImage;
// もし画像の幅がページの幅よりも大きい場合
if (width > page.Canvas.ClientSize.Width)
{
// 画像をページの幅に合わせてリサイズします
float widthFitRate = width / page.Canvas.ClientSize.Width;
Size size = new Size((int)(width / widthFitRate), (int)(height / widthFitRate));
Bitmap scaledImage = new Bitmap(image, size);
// リサイズした画像をPdfImageオブジェクトに読み込みます
pdfImage = PdfImage.FromImage(scaledImage);
}
else
{
// オリジナルの画像をPdfImageオブジェクトに読み込みます
pdfImage = PdfImage.FromImage(image);
}
// 画像を(0, 0)に描画します
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
// ファイルに保存します
pdf.SaveToFile("画像をPDFに変換.pdf");
pdf.Close();
}
}
}

以下は、Spire.PDF for .NET を使用して、画像を画像と同じページ幅と高さで PDF に変換する手順です。
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace ConvertImageToPdfWithSameSize
{
class Program
{
static void Main(string[] args)
{
// PdfDocument オブジェクトを作成します
PdfDocument doc = new PdfDocument();
// 余白を0に設定します
doc.PageSettings.SetMargins(0);
// 画像を読み込みます
Image image = Image.FromFile("サンプル.jpg");
// 画像の幅と高さを取得します
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// 画像と同じサイズのページを追加します
PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
// 画像を基に PdfImage オブジェクトを作成します
PdfImage pdfImage = PdfImage.FromImage(image);
// ページの (0, 0) に画像を描画します
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
// ファイルに保存します
doc.SaveToFile("画像をPDFに変換.pdf");
}
}
}

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF ファイルは、さまざまなデバイスでのプレゼンテーションやプラットフォーム間での共有には非常に便利ですが、PDF の編集は少々難しいと言わざるを得ません。PDF ファイルを受け取り、その内容に基づいてプレゼンテーションを準備する必要がある場合、PDF ファイルを PowerPoint 文書に変換して、より良いプレゼンテーション効果を得ることや、さらなる編集が可能であることを確保することをおすすめします。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF を PowerPoint プレゼンテーションに変換する方法を説明します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDFバージョン 8.11.10 以降、Spire.PDF for .NET では、PdfDocument.SaveToFile() メソッドを使用して PDF を PPTX に変換することがサポートされています。このメソッドを使用すると、PDF ファイルの各ページが PowerPoint の個別のスライドに変換されます。以下に、PDF ファイルを編集可能な PowerPoint 文書に変換する手順を示します。
using Spire.Pdf;
namespace PDFtoPowerPoint
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentのインスタンスを作成します
PdfDocument pdf = new PdfDocument();
// サンプルのPDF文書を読み込みます
pdf.LoadFromFile("サンプル.pdf");
// PDFをPPTX文書に変換します
pdf.SaveToFile("PDFをPowerPointに変換.pptx", FileFormat.PPTX);
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
テキストファイルは、プレーンテキストを含むファイルの一種です。テキストファイルは、ほとんどのコンピュータで見ることができますが、非常に基本的で限られた機能しか持っていません。注釈やフォームフィールドの挿入など、テキストファイル上でより多くの操作を実行したい場合は、PDF に変換することができます。この記事では、Spire.PDF for .NET を使用して C# でテキストファイルを PDF に変換する方法を示します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF以下は、Spire.PDF for .NET を使用してテキストファイルを PDF に変換する主な手順です:
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.IO;
namespace ConvertTextToPdf
{
class Program
{
static void Main(string[] args)
{
// テキストファイルからテキストを読み取る
string text = File.ReadAllText("サンプル.txt");
// PdfDocument インスタンスを作成する
PdfDocument pdf = new PdfDocument();
// ページを追加する
PdfPageBase page = pdf.Pages.Add();
// PdfFont インスタンスを作成する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC", 12f, FontStyle.Regular), true);
// PdfTextLayout インスタンスを作成する
PdfTextLayout textLayout = new PdfTextLayout();
textLayout.Break = PdfLayoutBreakType.FitPage;
textLayout.Layout = PdfLayoutType.Paginate;
// PdfStringFormat インスタンスを作成する
PdfStringFormat format = new PdfStringFormat();
format.Alignment = PdfTextAlignment.Justify;
format.LineSpacing = 20f;
// テキストから PdfTextWidget インスタンスを作成する
PdfTextWidget textWidget = new PdfTextWidget(text, font, PdfBrushes.Black);
// 文字列フォーマットを設定する
textWidget.StringFormat = format;
// ページの指定された場所にテキストを描画する
RectangleF bounds = new RectangleF(new PointF(10, 25), page.Canvas.ClientSize);
textWidget.Draw(page, bounds, textLayout);
// 結果のファイルを保存する
pdf.SaveToFile("output/テキストをPDFに変換.pdf", FileFormat.PDF);
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
XPS は、PDF に似た形式であり、ファイルのレイアウト、外観、印刷情報に XML 形式を使用しています。XPS は Microsoft によって開発され、Windows オペレーティングシステムでサポートされるファイル形式です。他のソフトウェアをインストールせずに Windows コンピュータで PDF ファイルを使用したい場合は、XPS 形式に変換することができます。同様に、Mac ユーザーと XPS ファイルを共有したり、他のデバイスで表示する必要がある場合は、PDF に変換することをおすすめします。この記事では、Spire.PDF for .NET を使用して XPS と PDF 間の相互変換方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを.NETプロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDFSpire.PDF for .NET は、PDF をさまざまなファイル形式に変換する機能をサポートしています。PDF から XPS への変換は、わずか3行のコアコードで実現できます。以下に詳細な手順を示します。
using Spire.Pdf;
namespace ConvertPdfToXps
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//サンプルPDFドキュメントをロードする
pdf.LoadFromFile("sample.pdf");
//XPS形式で保存する
pdf.SaveToFile("ToXPS.xps", FileFormat.XPS);
pdf.Close();
}
}
}Imports Spire.PDF
Namespace ConvertPdfToXps
Class Program
Private Shared Sub Main(ByVal args() As String)
'PdfDocumentインスタンスを作成する
Dim pdf As PdfDocument = New PdfDocument
'サンプルPDFドキュメントをロードする
pdf.LoadFromFile("sample.pdf")
' XPS形式で保存する
pdf.SaveToFile("ToXPS.xps", FileFormat.XPS)
pdf.Close()
End Sub
End Class
End Namespace
Spire.PDF for .NET は、XPS から PDF への変換もサポートしています。変換時には、PdfDocument.ConvertOptions.SetXpsToPdfOptions() メソッドを使用して生成される PDF ファイルで高品質な画像を維持するオプションを設定できます。以下に詳細な手順を示します。
using Spire.Pdf;
namespace ConvertXPStoPDF
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//サンプルXPSファイルをロードする
pdf.LoadFromFile("sample.xps", FileFormat.XPS);
//pdf.LoadFromXPS("sample.xps");
//XPSをPDFに変換したときの高品質な画像を維持する
pdf.ConvertOptions.SetXpsToPdfOptions(true);
//XPSファイルをPDFファイルに変換する
pdf.SaveToFile("XPStoPDF.pdf", FileFormat.PDF);
}
}
}Imports Spire.PDF
Namespace ConvertXPStoPDF
Class Program
Private Shared Sub Main(ByVal args() As String)
'PdfDocumentインスタンスを作成する
Dim pdf As PdfDocument = New PdfDocument
'サンプルXPSファイルをロードする
pdf.LoadFromFile("sample.xps", FileFormat.XPS)
'pdf.LoadFromXPS("sample.xps");
'XPSをPDFに変換したときの高品質な画像を維持する
pdf.ConvertOptions.SetXpsToPdfOptions(True)
'XPSファイルをPDFファイルに変換する
pdf.SaveToFile("XPStoPDF.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF/A は PDF の ISO 規格化されたバージョンで、将来の使用のためのアーカイブファイルをサポートしています。PDF/A 形式のドキュメントは、どのソフトウェアを使用しても完全に同じ方法でコピーできます。デジタルドキュメントを長期保存する上での利点のため、必要に応じて PDF を PDF/A に変換することができます。この記事では、Spire.PDF for .NET を使用して PDF を PDF/A-1A, 2A, 3A, 1B, 2B と 3B の PDF に変換する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DL Lファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDFSpire.PDF for .NET は、PDF を PDF/A-1A, 2A, 3A, 1B, 2B と 3B など、さまざまな PDF/A フォーマットに変換することをサポートしています。以下に詳細な変換手順を示します。
using System;
using Spire.Pdf.Conversion;
namespace ConvertPdf2Pdfa
{
class Program
{
static void Main(string[] args)
{
//入力ファイルパスを指定する
String inputFile = @"C:\Users\Administrator\Desktop\sample.pdf";
//出力フォルダを指定する
String outputFolder = @"C:\Users\Administrator\Desktop\Output\";
//PdfStandardsConverterインスタンスを作成し、入力ドキュメントのパスをパラメータとしてインスタンスに渡す
PdfStandardsConverter converter = new PdfStandardsConverter(inputFile);
//PDFをPDF/A1Aに変換する
converter.ToPdfA1A(outputFolder + "ToPdfA1A.pdf");
//PDFをPDFA1Bに変換する
converter.ToPdfA1B(outputFolder + "ToPdfA1B.pdf");
//PDFをPDFA2Aに変換する
converter.ToPdfA2A(outputFolder + "ToPdfA2A.pdf");
//PDFをPDFA2Bに変換する
converter.ToPdfA2B(outputFolder + "ToPdfA2B.pdf");
//PDFをPDFA3Aに変換する
converter.ToPdfA3A(outputFolder + "ToPdfA3A.pdf");
//PDFをPDFA3Bに変換する
converter.ToPdfA3B(outputFolder + "ToPdfA3B.pdf");
}
}
}Imports Spire.Pdf.Conversion
Namespace ConvertPdf2Pdfa
Class Program
Private Shared Sub Main(ByVal args As String())
'入力ファイルパスを指定する
Dim inputFile As String = "C:\Users\Administrator\Desktop\sample.pdf"
'出力フォルダを指定する
Dim outputFolder As String = "C:\Users\Administrator\Desktop\Output\"
'PdfStandardsConverterインスタンスを作成し、入力ドキュメントのパスをパラメータとしてインスタンスに渡す
Dim converter As PdfStandardsConverter = New PdfStandardsConverter(inputFile)
'PDFをPDF/A1Aに変換する
converter.ToPdfA1A(outputFolder & "ToPdfA1A.pdf")
'PDFをPDFA1Bに変換する
converter.ToPdfA1B(outputFolder & "ToPdfA1B.pdf")
'PDFをPDFA2Aに変換する
converter.ToPdfA2A(outputFolder & "ToPdfA2A.pdf")
'PDFをPDFA2Bに変換する
converter.ToPdfA2B(outputFolder & "ToPdfA2B.pdf")
'PDFをPDFA3Aに変換する
converter.ToPdfA3A(outputFolder & "ToPdfA3A.pdf")
'PDFをPDFA3Bに変換する
converter.ToPdfA3B(outputFolder & "ToPdfA3B.pdf")
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF は用途の広いファイル形式ですが、それを編集するのが困難です。PDF データを変更および計算する場合は、PDF を Excel に変換するのがよっぽど理想的です。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF を Excel に変換する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDFPDF ドキュメントを Excel に変換する手順は次のとおりです。
using Spire.Pdf;
using Spire.Pdf.Conversion;
namespace ConvertPdfToExcel
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentクラスのインスタンスを初期化する
PdfDocument pdf = new PdfDocument();
//PDFドキュメントをロードする
pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");
//PDFドキュメントをXLSXに保存する
pdf.SaveToFile("PdfToExcel.xlsx", FileFormat.XLSX);
}
}
}Imports Spire.Pdf
Imports Spire.Pdf.Conversion
Namespace ConvertPdfToExcel
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")
'PDFドキュメントをXLSXに保存する
pdf.SaveToFile("PdfToExcel.xlsx", FileFormat.XLSX)
End Sub
End Class
End Namespace
複数ページの PDF を1つの Excel ワークシートに変換する手順は次のとおりです。
using Spire.Pdf;
using Spire.Pdf.Conversion;
namespace ConvertPdfToExcel
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentクラスのインスタンスを初期化する
PdfDocument pdf = new PdfDocument();
//PDFドキュメントをロードする
pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");
//クラスコンストラクターでXlsxLineLayoutOptionsクラスのインスタンスを初期化し、最初のパラメーターであるconvertToMultipleSheetをfalseに設定する
//4つのパラメーターは、convertToMultipleSheet、showRotatedText、splitCell、wrapTextを表す
XlsxLineLayoutOptions options = new XlsxLineLayoutOptions(false, true, true, true);
//PDFをXLSX変換オプションに設定する
pdf.ConvertOptions.SetPdfToXlsxOptions(options);
//PDFドキュメントをXLSXに保存する
pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX);
}
}
}Imports Spire.Pdf
Imports Spire.Pdf.Conversion
Namespace ConvertPdfToExcel
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")
'クラスコンストラクターでXlsxLineLayoutOptionsクラスのインスタンスを初期化し、最初のパラメーターであるconvertToMultipleSheetをfalseに設定する
'4つのパラメーターは、convertToMultipleSheet、showRotatedText、splitCell、wrapTextを表す
Dim options As XlsxLineLayoutOptions = New XlsxLineLayoutOptions(False,True,True,True)
'PDFをXLSX変換オプションに設定する
pdf.ConvertOptions.SetPdfToXlsxOptions(options)
'PDFドキュメントをXLSXに保存する
pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX)
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
「高速 Web ビュー」とも呼ばれる PDF 線形化は、PDF ファイルを最適化する方法の一つです。通常、ユーザーは、Web ブラウザがサーバーからすべてのページをダウンロードした場合にのみ、複数ページの PDF ファイルをオンラインで表示できます。ただし、PDF ファイルが線形化されている場合、完全なダウンロードが完了していなくても、ブラウザーは最初のページを非常にすばやく表示できます。この記事では、Spire.PDF for .NET を使用して PDF を C# および VB.NET で線形化する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDFPDF ファイルを線形化に変換する手順は次のとおりです。
using Spire.Pdf.Conversion;
namespace ConvertPdfToLinearized
{
class Program
{
static void Main(string[] args)
{
//PDFファイルをロードする
PdfToLinearizedPdfConverter converter = new PdfToLinearizedPdfConverter("C:\\Users\\Administrator\\Desktop\\Sample.pdf");
//ファイルを線形化されたPDFに変換する
converter.ToLinearizedPdf("Linearized.pdf");
}
}
}Imports Spire.Pdf.Conversion
Namespace ConvertPdfToLinearized
Class Program
Shared Sub Main(ByVal args() As String)
'PDFファイルをロードする
Dim converter As PdfToLinearizedPdfConverter = New PdfToLinearizedPdfConverter("C:\\Users\\Administrator\\Desktop\\Sample.pdf")
'ファイルを線形化されたPDFに変換する
converter.ToLinearizedPdf("Linearized.pdf")
End Sub
End Class
End Namespace結果ファイルを AdobeAcrobat で開き、ドキュメントのプロパティを確認します。「Fast Web View」の値が「はい」であることがわかります。これは、ファイルが線形化されていることを意味します。

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