フッターコンテンツにスキップ
移行ガイド

How to Migrate from PdfPig to IronPDF in C#

PdfPigからIronPDFへの移行は、座標ベースの著者作成および基本的な結合のための狭いライターサーフェースを備えるリーディングフォーカスのライブラリから、作成、操作、テキスト抽出、セキュリティ機能を扱う包括的なPDFソリューションへと拡張します。 このガイドは、既存の抽出ワークフローを維持しながら、PdfPigが提供しないHTML変換、高レベルのドキュメント操作、透かし、セキュリティ著作を追加する完全なステップバイステップの移行パスを提供します。

なぜPdfPigからIronPDFに移行するのか

PdfPigについて

PdfPig(NuGetパッケージ PdfPig、名前空間 UglyToad.PdfPig)は、オープンソース for .NET PDF読み取りおよび抽出ライブラリで、元々はApache PDFBox Javaプロジェクトに触発され、部分的に移植されました。 開発者がデータの精度を高めながらPDFの構造的コンテンツにアクセスできるようにします。 PdfPigは抽出に長けていますが、その範囲はフルライフサイクルの商用ライブラリよりも狭いです。 このプロジェクトはまだ1.0未満であり(現在の安定版リリースは0.1.14)、READMEには"バージョンが1.0.0未満の場合、マイナーバージョンは警告なしにパブリックAPIを変更する"と記載されています。

PdfPig はテキスト(文字および単語レベルの位置を伴う)、画像、読み取り専用フォームデータ、アノテーション、メタデータの抽出に信頼性のあるツールを提供します。 また、限定的なライターサーフェスを公開しています。低レベルの新規ドキュメント作成のためのUglyToad.PdfPig.Writer内)があります。 これにより、主にドキュメント分析、データマイニング、および基本的な結合に焦点を当てたアプリケーションに適した選択肢となります。

リーディングフォーカス制限

PdfPigは読み取りを優先し、ライターサーフェースは意図的に狭くなっています。 アプリケーションが抽出や基本的な結合を超えて成長する必要がある場合、PdfPigは役立ちません:

  1. 限定的なPDF生成: 新しいドキュメントには高レベルのレイアウトはなく、PdfPointを使用した手動での座標配置が必要です。

  2. HTML から PDF への変換機能はありません。PdfPigは PDF 読み取り/解析ライブラリであり、PDF 生成ライブラリではありません。 HTMLからPDFへの変換には、別のライブラリを使用する必要があります。

  3. 限定的なドキュメント操作: PdfMergerは連結をカバーしていますが、高レベルの分割/回転/編集APIはありません。

  4. セキュリティ著作なし: 暗号化されたPDF(パスワード付き)を読み取ることはできますが、パスワード、暗号化、デジタル署名を追加することはできません。

  5. ウォーターマーク/スタンプなし: 既存のドキュメントにビジュアルオーバーレイを行うためのハイレベルなAPIはありません。

  6. フォーム入力なし: フォームは読み取り専用で、値を変更または追加することはできません。

PdfPigとIronPDFの比較

フィーチャー PdfPig IronPDF
ライセンス オープンソース(Apache 2.0) 商用
NuGetパッケージ PdfPig(v0.1.14、1.0未満) IronPdf
PDFの読み取り/抽出 優秀 優秀
PDFジェネレーション 制限付き(PdfDocumentBuilderを使用した座標ベース) 包括的
HTMLからPDFへ サポート対象外 サポート対象
テキスト抽出 優れたもの(単語境界ボックス付き) 優れたもの(テキストのみ)
PDFマージ サポートされている(PdfMerger サポートされている(PdfDocument.Merge
分割 / 回転 / 編集 非サポート(ハイレベル) サポート対象
ウォーターマーク サポートされていません サポート対象
セキュリティ/暗号化著作 サポートされていません サポート対象
サポートとドキュメンテーション コミュニティサポート 専用サポート
ページ索引 1ベース 0ベース

IronPDFはPDFの作成、閲覧、編集、署名のための機能一式をサポートしています。 この多様性により、開発者はPDFファイルを現代 for .NETで最初から最後まで管理でき、PdfPigの読解能力を超えた完全なPDFライフサイクルソリューションを提供します。


始める前に

前提条件

  1. .NET環境: .NET Framework 4.6.2+ または.NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGetアクセス: NuGetパッケージをインストールする機能
  3. IronPDFライセンス: IronPDFからライセンスキーを取得します。

NuGetパッケージの変更

# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

PdfPigの使用法を特定する

# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
SHELL

完全な API リファレンス

名前空間の変更

// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
' Before: PdfPig
Imports UglyToad.PdfPig
Imports UglyToad.PdfPig.Content
Imports UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor

' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
$vbLabelText   $csharpLabel

ドキュメント読み込みマッピング

PdfPig IronPDF
PdfDocument.Open(path) PdfDocument.FromFile(path)
PdfDocument.Open(bytes) PdfDocument.FromBinaryData(bytes)
PdfDocument.Open(stream) PdfDocument.FromStream(stream)
using (var doc = ...) var pdf = ...

ページ アクセスとプロパティのマッピング

PdfPig IronPDF
document.NumberOfPages pdf.PageCount
document.GetPages() pdf.Pages
document.GetPage(1) pdf.Pages[0]

テキスト抽出マッピング

PdfPig IronPDF
page.Text pdf.Pages[i].Text
page.GetWords() pdf.ExtractTextFromPage(i)
(manual loop) pdf.ExtractAllText()

メタデータアクセスマッピング

PdfPig IronPDF
document.Information.Title pdf.MetaData.Title
document.Information.Author pdf.MetaData.Author
document.Information.Subject pdf.MetaData.Subject
document.Information.Creator pdf.MetaData.Creator
document.Information.Producer pdf.MetaData.Producer

PdfPigでは利用できない新機能

IronPDFの特徴 翻訳内容
renderer.RenderHtmlAsPdf(html) HTMLからPDFへの変換
renderer.RenderUrlAsPdf(url) URLからPDFへの変換
pdf.ApplyWatermark(html) 透かしの追加
pdf.SecuritySettings.UserPassword パスワード保護
pdf.Sign(certificate) デジタル署名

注意: PDFのマージは両方のライブラリで利用可能です(PdfPigのPdfDocument.Merge)。


コード移行の例

例1: PDFからのテキスト抽出

翻訳前 (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
Imports UglyToad.PdfPig
Imports System
Imports System.Text

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim text = New StringBuilder()
            For Each page In document.GetPages()
                text.AppendLine(page.Text)
            Next
            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim text As String = pdf.ExtractAllText()
        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

PdfPigとIronPDFはどちらも優れたテキスト抽出機能を提供します。 主な違いはコードパターンです。 PdfPigはpage.Textプロパティからテキストを蓄積するためにページを手動で繰り返し処理します。

IronPDFはこれを1つの呼び出しに簡略化します。ExtractAllText()は全てのテキスト内容を一度に返します。 using ステートメントも、手動の繰り返しも、StringBuilderも必要ありません。 その他のオプションについては、テキスト抽出ドキュメントを参照してください。

例2: HTMLからPDFへの変換

翻訳前 (PdfPig):

PdfPig は HTML から PDF への変換をサポートしていません。PdfPigは PDF 生成ライブラリではなく、PDF 読み取り/解析ライブラリです。 HTML から PDF への変換には別のライブラリを使用する必要があります。

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

この例は、最も重大な能力ギャップを浮き彫りにしています。PdfPigは、"HTMLからPDFへの変換をサポートしない"、"PDF読み取り/解析ライブラリであり、PDF生成ライブラリではない "と明言しています。PdfPigを使ってHTMLからPDFを作成する必要がある場合は、まったく別のライブラリを使う必要があります。

IronPDFはChromePdfRendererを通じてネイティブのHTMLからPDFへの変換を提供します。 RenderHtmlAsPdf()メソッドはHTMLストリングを受け取り、内部的にはChromiumエンジンを使用してHTML、CSS、JavaScriptの正確なレンダリングを行い、PDFドキュメントに変換します。 結果のSaveAs()を使用して保存したり、保存前にさらに操作したりすることができます。 包括的な例については、HTML to PDF documentationを参照してください。

例 3:PDFメタデータを読む

翻訳前 (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
Imports UglyToad.PdfPig
Imports System

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim info = document.Information
            Console.WriteLine($"Title: {info.Title}")
            Console.WriteLine($"Author: {info.Author}")
            Console.WriteLine($"Subject: {info.Subject}")
            Console.WriteLine($"Creator: {info.Creator}")
            Console.WriteLine($"Producer: {info.Producer}")
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim info = pdf.MetaData
        Console.WriteLine($"Title: {info.Title}")
        Console.WriteLine($"Author: {info.Author}")
        Console.WriteLine($"Subject: {info.Subject}")
        Console.WriteLine($"Creator: {info.Creator}")
        Console.WriteLine($"Producer: {info.Producer}")
        Console.WriteLine($"Number of Pages: {pdf.PageCount}")
    End Sub
End Class
$vbLabelText   $csharpLabel

どちらのライブラリも、ほぼ同じパターンでメタデータ・アクセスを提供します。 PdfPigはdocument.NumberOfPagesを通じてページ数にアクセスします。 IronPDFはメタデータにpdf.PageCountを使用します。

移行は簡単です:pdf.PageCountに置き換えます。 IronPDFにはusingステートメントのラッパーは不要なので削除します。


重要な移行に関する注意事項

ページのインデックス変更

PdfPigは1ベースのインデックスを使用しています; IronPDFは0ベースです:

// PdfPig:1ベースindexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:0ベースindexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig:1ベースindexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:0ベースindexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig:1ベースindexing
Dim firstPage = document.GetPage(1)  ' First page

' IronPDF:0ベースindexing
Dim firstPage = pdf.Pages(0)  ' First page

' Migration helper
Dim pdfPigIndex As Integer = 1
Dim ironPdfIndex As Integer = pdfPigIndex - 1
$vbLabelText   $csharpLabel

使用説明文は必須ではありません

// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
    ' ...
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
' ...
' pdf.Dispose() ' Optional
$vbLabelText   $csharpLabel

ドキュメントの読み込みの変更

// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
$vbLabelText   $csharpLabel

メタデータ プロパティ名の変更

// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
' PdfPig: document.Information
Dim info = document.Information

' IronPDF: pdf.MetaData
Dim info = pdf.MetaData
$vbLabelText   $csharpLabel

ページ数プロパティの変更

// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
' PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}")

' IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}")
$vbLabelText   $csharpLabel

移行後の新機能

IronPDFに移行すると、PdfPigでは提供できない機能が得られます:

PDFマージ

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

ウォーターマーク

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

パスワード保護

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
$vbLabelText   $csharpLabel

デジタル署名

var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
Dim signature As New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "support@company.com",
    .SigningReason = "Document Approval"
}
pdf.Sign(signature)
$vbLabelText   $csharpLabel

機能比較の概要

フィーチャー PdfPig IronPDF
テキスト抽出
メタデータアクセス
画像抽出
PDF作成 制限されたもの(座標ベース)
HTMLからPDFへ
URLからPDFへ
PDFのマージ ✓ (PdfMerger)
PDFの分割
透かし
フォーム入力
パスワード保護
デジタル署名
ワードポジションデータ

移行チェックリスト

移行前

  • コードベース内のすべてのPdfPigの使用状況を一覧表示する
  • 単語レベルの位置データが必要かどうかを特定する(ハイブリッドアプローチを検討)
  • すべてのページインデックス参照をメモします(1 ベースを 0 ベースに変換する必要があります)
  • IronPDFライセンス キーの保存を計画する (環境変数を推奨)
  • まずはIronPDFの試用ライセンスでテストしてください

パッケージの変更

  • PdfPig NuGetパッケージを削除: dotnet remove package PdfPig
  • IronPdf NuGetパッケージをインストール: dotnet add package IronPdf

コードの変更

  • 名前空間のインポートを更新する(using UglyToad.PdfPig;using IronPdf;
  • PdfDocument.FromFile()に置き換える
  • pdf.MetaDataに置き換える
  • pdf.PageCountに置き換える
  • ページインデックスを1から0に変換する
  • usingステートメントを削除する(任意、IronPDFでは不要)
  • アプリケーションの起動時にIronPDFライセンスキーを追加する

移行後

  • テストテキスト抽出出力が期待通りである
  • すべてのPDF生成シナリオをテストする
  • 必要に応じて新しい機能(結合、透かし、セキュリティ)を追加します
  • Linuxにデプロイする場合はLinuxの依存関係をインストールします

ご注意Apache PDFBox およびPdfPigはそれぞれの所有者の登録商標です。 このサイトはApache Software FoundationまたはUglyToadと提携、推奨、またはスポンサー承認されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね