PDF 文書をより柔軟で編集しやすい形式に変換すること、例えば Markdown 形式への変換は、開発者やコンテンツ制作者にとって一般的なニーズとなっています。このような変換は、文書編集やバージョン管理を容易にするだけでなく、異なるプラットフォームやアプリケーション間でのコンテンツの移植性を高め、特にウェブでの公開や共有に適しています。Spire.PDF for .NET を使用することで、開発者はこの変換プロセスを自動化し、生成された Markdown ファイルにおいて、元の PDF の豊富な書式や構造を維持することができます。
この記事では、Spire.PDF for .NET を使用して C# で PDF 文書を Markdown ファイルに変換する方法を示します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF 文書を Markdown ファイルに変換する
Spire.PDF for .NET を利用すると、開発者は PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書をファイルから読み込み、PdfDocument.SaveToFile(string filename, FileFormat fileFormat) メソッドを使って必要な形式に変換し保存することができます。PDF 文書を Markdown ファイルに変換する際には、保存メソッドの呼び出し時に FileFormat.Markdown 列挙型を引数として渡すだけです。
以下は具体的な手順です:
- PdfDocument クラスのインスタンスを作成します。
- PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書を読み込みます。
- PdfDocument.SaveToFile(string filename, FileFormat.Markdown) メソッドを使って、文書を Markdown 形式に変換し保存します。
- C#
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 ファイル:
ストリームを使用して PDF を Markdown に変換する
ファイルを直接読み込んで操作する以外にも、Spire.PDF for .NET は PdfDocument.LoadFromStream() メソッドを使用してストリームから PDF 文書を読み込み、その後 PdfDocument.SaveToStream() メソッドを使用して Markdown ファイルのストリームに変換することをサポートしています。ストリームを使用することでメモリ使用量を削減し、大きなファイルの処理が可能になり、リアルタイムでのデータ転送を実現できます。また、他のシステムとのデータ交換を簡素化します。
ストリームを使って PDF 文書を Markdown ファイルに変換する具体的な手順は以下の通りです:
- ネットワークからのダウンロードやファイルデータの読み取りを通じて、PDF 文書を含む Stream オブジェクトを作成します。
- PdfDocument.LoadFromStream(Stream stream) メソッドを使用して、ストリームから PDF 文書を読み込みます。
- 変換後の Markdown ファイルを保存するための別の Stream オブジェクトを作成します。
- PdfDocument.SaveToStream(Stream stream, FileFormat.Markdown) メソッドを使用して、PDF 文書を Markdown ファイルのストリームに変換します。
- C#
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 日間有効な一時ライセンスを取得してください。