如何使用 IronPDF 在 C# 中將 PDF 轉換為 PDF/A

如何在 C# 中匯出 PDF/A、PDF/A-3 或 PDF/A-4 格式文檔

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 支援將 PDF 匯出為 PDF/A-3b 和 PDF/A-4標準。 PDF/A-3B 是 ISO PDF 規範的一個嚴格子集,用於建立文件的存檔版本,目的是使它們始終與儲存時完全相同。 PDF/A-4 是最新的合規標準,為數位簽章提供了更強大的支援。

第 508 條合規性

IronPDF 遵循 Google 的倡議,增加 PDF 的歸檔和可讀性,以符合 Section 508 的規定。 當使用 HTML 至 PDF 轉換時,我們的渲染引擎會保留所有無障礙功能。

2021 年,我們改用 Google Chromium 的 HTML 渲染引擎從 HTML 渲染 PDF。這可讓我們的軟體繼承Google 已經實作的無障礙工作

為什麼 PDF/A 文件必須符合 Section 508 規範?

符合 Section 508 規範可確保使用螢幕閱讀器等輔助技術的殘障人士能夠存取 PDF 文件。 符合 Section 508 標準的 PDF/A 文件可確保內容在存檔期間仍可存取。 對於政府機關、教育機構以及為所有使用者提供平等資訊存取權的組織而言,此合規性至關重要。


IronPDF 支援哪些 PDF/A 版本?

IronPdf 支援一致性等級 A 和 B。 "A"代表"可訪問","B"代表"基本"。這些等級適用於 PDF/A-1、PDF/A-2 和 PDF/A-3 標準。 以下資訊來自 Adobe 的 PDF/A 文件。 預設情況下,透過 IronPDF 產生的 PDF 輸出為 PDF/A-3B (ISO 19005-3)。

  • Level A 符合性符合所有規範要求,可讓輔助軟體改善身體殘障使用者的可及性。
  • Level B具有較低的一致性與最低限度的合規性,著重於長期保留視覺外觀。

PDF/A-1、PDF/A-2 和 PDF/A-3 之間有何差異?

PDF/A-1:基於原始 PDF 1.4 版本。

PDF/A-2:於 2011 年 7 月以 ISO 32001-1 發布,包含 PDF 版本 1.7 之前的所有功能以及新功能。 支援 JPEG2000 掃描文件,以及自訂 XMP 元資料的特定需求。 在處理 PDF 元資料時,IronPDF 可確保妥善處理 XMP 元資料。

PDF/A-3:包含所有二級要求。 允許將額外的檔案格式 - XML、CSV 和文字處理格式 - 嵌入到符合 PDF/A 的文件中。

PDF/A-4: PDF/A 合規標準的最新版本,於 2020 年發布。它基於 PDF 2.0,並引入了改進的功能,包括相比 PDF/A-3 更強大的數位簽章支援。此版本最適合涉及 3D 模型和其他複雜元素的工程文件和技術工作流程。

特點 PDF/A-3 PDF/A-4
基礎 PDF 版本 PDF 1.7 PDF 2.0
嵌入式檔案附件 支持 不支援。
數位簽名 支持 增強支持
最佳用例 發票,XML資料嵌入 工程、3D模型、技術工作流程

IronPdf 目前尚不支援將帶有附件檔案的 PDF 檔案轉換為 PDF/A-3B 格式。

轉換為最新的 PDF/A-4 標準

PDF/A-4 是 PDF/A 系列中的最新合規標準。 它被認為是各種文件類型的最佳存檔格式,尤其適用於涉及數位簽章的文件。 此格式不允許加密和多媒體元素,確保每個檔案都是完全獨立的。

將現有文件轉換為符合 PDF/A-4 標準的文件非常簡單。

:path=/static-assets/pdf/content-code-examples/how-to/sample-pdfa4.cs
using IronPdf;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("input.pdf");

// Save as PDF/A-4 compliant document
pdf.SaveAsPdfA("pdfa4-output.pdf", PdfAVersions.PdfA4);
Imports IronPdf

' Load an existing PDF
Dim pdf As PdfDocument = PdfDocument.FromFile("input.pdf")

' Save as PDF/A-4 compliant document
pdf.SaveAsPdfA("pdfa4-output.pdf", PdfAVersions.PdfA4)
$vbLabelText   $csharpLabel

從現有 PDF 文件 (PDF/A-3B)

本範例使用wikipedia.pdf ,這是一個使用 IronPDF 產生的 PDF 檔案。 為獲得最佳效果,請確保在開始轉換之前已正確配置許可證密鑰

下面的程式碼會將檔案載入並重新儲存為 PDF/A-3B 和 PDF/A-4 相容格式,以示範與這兩種標準的相容性。

輸入的 PDF 在轉換前是什麼樣子?

哪些程式碼可以將現有的 PDF 轉換成 PDF/A 格式?

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromfile.cs
using IronPdf;

// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3b);
Imports IronPdf

' Create a PdfDocument object or open any PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3b)
$vbLabelText   $csharpLabel

如何驗證 PDF/A 轉換成功?

輸出檔符合PDF/A-3b標準:

veraPDF Conformance Checker 顯示成功的 PDF/A-3B 驗證與綠色符合性訊息

從 HTML 設計或 URL(PDF/A-3B)

本範例使用名為design.html的 HTML 設計文件,透過 IronPDF 將 HTML 渲染為 PDF,並匯出為符合 PDF/A 標準的文件。 HTML檔案到 PDF 的轉換過程會保留所有樣式和格式。

以下程式碼將輸出儲存為符合 PDF/A-3B 標準的 PDF 檔案。

如何將 HTML 檔案轉換為 PDF/A 格式?

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromhtml.cs
using IronPdf;

// Use the Chrome Renderer to make beautiful HTML designs
var chromeRenderer = new ChromePdfRenderer();

// Render an HTML design as a PdfDocument object using Chrome
PdfDocument pdf = chromeRenderer.RenderHtmlAsPdf("design.html");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("design-accessible.pdf", PdfAVersions.PdfA3b);
Imports IronPdf

' Use the Chrome Renderer to make beautiful HTML designs
Private chromeRenderer = New ChromePdfRenderer()

' Render an HTML design as a PdfDocument object using Chrome
Private pdf As PdfDocument = chromeRenderer.RenderHtmlAsPdf("design.html")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("design-accessible.pdf", PdfAVersions.PdfA3b)
$vbLabelText   $csharpLabel

輸出檔符合PDF/A-3B標準:

veraPDF Conformance Checker 顯示 PDF 驗證成功,並帶有綠色符合性訊息

如何將網站轉換為 PDF/A 格式?

此範例使用 IronPDF 將 URL https://www.microsoft.com渲染為 PDF,並將其匯出為符合 PDF/A 標準的 PDF 檔案。 URL轉 PDF功能可確保所有 Web 內容(包括 JavaScript 和 CSS)都能正確渲染。

以下程式碼將輸出儲存為符合 PDF/A-3B 標準的 PDF 檔案。

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromurl.cs
using IronPdf;

// Use the Chrome Renderer to make beautiful HTML designs from URLs
var chromeRenderer = new ChromePdfRenderer();

// Render a Website as a PdfDocument object using Chrome
PdfDocument pdf = chromeRenderer.RenderUrlAsPdf("https://www.microsoft.com");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("website-accessible.pdf", PdfAVersions.PdfA3b);
Imports IronPdf

' Use the Chrome Renderer to make beautiful HTML designs from URLs
Private chromeRenderer = New ChromePdfRenderer()

' Render a Website as a PdfDocument object using Chrome
Private pdf As PdfDocument = chromeRenderer.RenderUrlAsPdf("https://www.microsoft.com")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("website-accessible.pdf", PdfAVersions.PdfA3b)
$vbLabelText   $csharpLabel

輸出檔符合PDF/A-3B標準:

veraPDF Conformance Checker 顯示 PDF/A-3B 驗證成功,並提供綠色符合性訊息和報告選項


支援嵌入附件(PDF/A-3B)

IronPDF 支援在 PDF/A 轉換過程中使用文件路徑、位元組數組或流將文件嵌入 PDF 文件中。 此功能可建立包含所有必要輔助資料的獨立歸檔文件。 如需了解更多進階 PDF 操作功能,請查看我們的PDF 編輯教學

[{i:(注意:僅在 PDF/A-3B 中支援嵌入式檔案附件。 PDF/A-4 不支援嵌入式附件。

嵌入檔案路徑

使用檔案路徑嵌入檔案。 提供檔案路徑集合,這些檔案會在 PDF/A 轉換時包含在附件中。

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-path.cs
using IronPdf;
using System.Collections.Generic;

PdfDocument pdf = new PdfDocument("Google.pdf");

// Initialize collection of embed file as string of path
IEnumerable<string> embedPaths = new[] { "File1.xml", "File2.png" };

// Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedPaths);
Imports IronPdf
Imports System.Collections.Generic

Private pdf As New PdfDocument("Google.pdf")

' Initialize collection of embed file as string of path
Private embedPaths As IEnumerable(Of String) = { "File1.xml", "File2.png" }

' Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedPaths)
$vbLabelText   $csharpLabel

如何使用位元組陣列嵌入檔案?

將檔案內容以其各自檔案類型的位元組陣列形式提供,以嵌入檔案。當檔案已載入記憶體時非常有用。

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-byte.cs
using IronPdf;
using System.Collections.Generic;
using System.IO;


PdfDocument pdf = new PdfDocument("Google.pdf");

// Initialize collection of embed file as Bytes and their file type
byte[] fileData1 = File.ReadAllBytes("File1.png");
byte[] fileData2 = File.ReadAllBytes("File2.xml");

var embedFileConfig1 = new EmbedFileConfiguration(EmbedFileType.png);
embedFileConfig1.EmbedFileName = "logo.png";

var embedFileConfig2 = new EmbedFileConfiguration(EmbedFileType.xml)
{
    EmbedFileName = "supportSystem.xml",
    AFDesc = "Internal system",
    ConformanceLevel = ConformanceLevel.XRECHNUNG,
    SchemaNamespace = SchemaNamespace.Zugferd1,
    SchemaPrefix = SchemaPrefix.rsm,
    PropertyVersion = PropertyVersion.v1p0,
    AFRelationship = AFRelationship.Supplement,
};

IEnumerable<EmbedFileByte> embedBytes = new[]
{
    new EmbedFileByte(fileData1, embedFileConfig1),
    new EmbedFileByte(fileData2, embedFileConfig2)
};

// Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedBytes).SaveAs("PdfACompliance.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.IO


Private pdf As New PdfDocument("Google.pdf")

' Initialize collection of embed file as Bytes and their file type
Private fileData1() As Byte = File.ReadAllBytes("File1.png")
Private fileData2() As Byte = File.ReadAllBytes("File2.xml")

Private embedFileConfig1 = New EmbedFileConfiguration(EmbedFileType.png)
embedFileConfig1.EmbedFileName = "logo.png"

Dim embedFileConfig2 = New EmbedFileConfiguration(EmbedFileType.xml) With {
	.EmbedFileName = "supportSystem.xml",
	.AFDesc = "Internal system",
	.ConformanceLevel = ConformanceLevel.XRECHNUNG,
	.SchemaNamespace = SchemaNamespace.Zugferd1,
	.SchemaPrefix = SchemaPrefix.rsm,
	.PropertyVersion = PropertyVersion.v1p0,
	.AFRelationship = AFRelationship.Supplement
}

Dim embedBytes As IEnumerable(Of EmbedFileByte) = {
	New EmbedFileByte(fileData1, embedFileConfig1),
	New EmbedFileByte(fileData2, embedFileConfig2)
}

' Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedBytes).SaveAs("PdfACompliance.pdf")
$vbLabelText   $csharpLabel

如何使用流嵌入文件?

將檔案使用串流嵌入其檔案類型的內容。檔案資料以串流方式處理時的理想選擇。

:path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-stream.cs
using IronPdf;
using System.Collections.Generic;
using System.IO;

PdfDocument pdf = new PdfDocument("Google.pdf");

// Initialize collection of embed file as Stream and their file type
Stream stream1 = new MemoryStream(File.ReadAllBytes("File1.png"));
Stream stream2 = new MemoryStream(File.ReadAllBytes("File2.xml"));

var embedFileConfig1 = new EmbedFileConfiguration(EmbedFileType.png);
embedFileConfig1.EmbedFileName = "logo.png";

var embedFileConfig2 = new EmbedFileConfiguration(EmbedFileType.xml)
{
    EmbedFileName = "supportSystem.xml",
    AFDesc = "Internal system",
    ConformanceLevel = ConformanceLevel.XRECHNUNG,
    SchemaNamespace = SchemaNamespace.Zugferd1,
    SchemaPrefix = SchemaPrefix.rsm,
    PropertyVersion = PropertyVersion.v1p0,
    AFRelationship = AFRelationship.Supplement,
};

IEnumerable<EmbedFileStream> embedStreams = new[]
{
    new EmbedFileStream(stream1, embedFileConfig1),
    new EmbedFileStream(stream2, embedFileConfig2)
};

// Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedStreams).SaveAs("PdfACompliance.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.IO

Private pdf As New PdfDocument("Google.pdf")

' Initialize collection of embed file as Stream and their file type
Private stream1 As Stream = New MemoryStream(File.ReadAllBytes("File1.png"))
Private stream2 As Stream = New MemoryStream(File.ReadAllBytes("File2.xml"))

Private embedFileConfig1 = New EmbedFileConfiguration(EmbedFileType.png)
embedFileConfig1.EmbedFileName = "logo.png"

Dim embedFileConfig2 = New EmbedFileConfiguration(EmbedFileType.xml) With {
	.EmbedFileName = "supportSystem.xml",
	.AFDesc = "Internal system",
	.ConformanceLevel = ConformanceLevel.XRECHNUNG,
	.SchemaNamespace = SchemaNamespace.Zugferd1,
	.SchemaPrefix = SchemaPrefix.rsm,
	.PropertyVersion = PropertyVersion.v1p0,
	.AFRelationship = AFRelationship.Supplement
}

Dim embedStreams As IEnumerable(Of EmbedFileStream) = {
	New EmbedFileStream(stream1, embedFileConfig1),
	New EmbedFileStream(stream2, embedFileConfig2)
}

' Convert to Pdf/A-3B with embeded files
pdf.ConvertToPdfA(embedStreams).SaveAs("PdfACompliance.pdf")
$vbLabelText   $csharpLabel

如何使用EmbedFileConfiguration配置嵌入式檔案屬性?

PdfDocument轉換為包含嵌入檔案的 PDF/A-3 格式時,請設定EmbedFilePathEmbedFileByteEmbedFileStream等參數,以指定檔案類型、名稱和自訂 XMP 元資料。

適當的配置可確保內嵌內容能有效組織,並符合 PDF/A-3 標準。 自訂 XMP 元資料可提供內嵌檔案的額外資訊,增強文件的可用性和可讀性。 使用 EmbedFileConfiguration 類別,開發人員可以輕鬆自訂檔案的值和格式。

var config = new EmbedFileConfiguration
{
    EmbedFileName = "Attachment.xml",
    AFDesc = "Associated File Description",
    ConformanceLevel = ConformanceLevel.EN16931,
    SchemaNamespace = SchemaNamespace.facturX,
    SchemaPrefix = SchemaPrefix.fx,
    PropertyVersion = PropertyVersion.v1,
    AFRelationship = AFRelationship.Alternative
};

 // Load a PDF document
 var document = PdfDocument.FromFile("wikipedia.pdf");

 // Configure embedded file parameters
 document.EmbedFileFromFilePath("path/to/attachment", config);

 // Save the document as PDF/A-3b
 document.SaveAsPdfA3B("output-with-configured-attachment.pdf");
var config = new EmbedFileConfiguration
{
    EmbedFileName = "Attachment.xml",
    AFDesc = "Associated File Description",
    ConformanceLevel = ConformanceLevel.EN16931,
    SchemaNamespace = SchemaNamespace.facturX,
    SchemaPrefix = SchemaPrefix.fx,
    PropertyVersion = PropertyVersion.v1,
    AFRelationship = AFRelationship.Alternative
};

 // Load a PDF document
 var document = PdfDocument.FromFile("wikipedia.pdf");

 // Configure embedded file parameters
 document.EmbedFileFromFilePath("path/to/attachment", config);

 // Save the document as PDF/A-3b
 document.SaveAsPdfA3B("output-with-configured-attachment.pdf");
Option Strict On



Dim config As New EmbedFileConfiguration With {
    .EmbedFileName = "Attachment.xml",
    .AFDesc = "Associated File Description",
    .ConformanceLevel = ConformanceLevel.EN16931,
    .SchemaNamespace = SchemaNamespace.facturX,
    .SchemaPrefix = SchemaPrefix.fx,
    .PropertyVersion = PropertyVersion.v1,
    .AFRelationship = AFRelationship.Alternative
}

' Load a PDF document
Dim document = PdfDocument.FromFile("wikipedia.pdf")

' Configure embedded file parameters
document.EmbedFileFromFilePath("path/to/attachment", config)

' Save the document as PDF/A-3b
document.SaveAsPdfA3B("output-with-configured-attachment.pdf")
$vbLabelText   $csharpLabel
  • EmbedFileName:一個 string 屬性,代表 PDF/A 文件中的內嵌檔案名稱。 預設為空字串。
  • AFDesc:一個 string 屬性,代表嵌入式檔案的相關檔案描述。預設為空字串。
  • ConformanceLevel :套用於 PDF/A 文件的 XMP 元資料的嵌入 XML 檔案的一致性等級。 預設值為ConformanceLevel.EN16931 。 IronPDF 透過ConformanceLevel枚舉提供不同的數值。
  • SchemaNamespace: PDF/A Schema NamespaceURI 嵌入 XML 檔案並應用於 PDF/A 文件的 XMP 元資料。 預設為 SchemaNamespace.facturX,在 SchemaNamespace 枚舉中有多種選項。
  • SchemaPrefix:PDF/A Schema 前綴,用於嵌入適用於 PDF/A 文件 XMP Metadata 的 XML 檔案。 預設為 SchemaPrefix.fx,在 SchemaPrefix 枚舉中有多個選項。
  • PropertyVersion:適用於 PDF/A 文件 XMP Metadata 的嵌入 XML 檔案的屬性版本。 預設值為PropertyVersion.v1PropertyVersion列舉中有多個選項。
  • AFRelationship :關聯文件(嵌入文件)與 PDF/A 文件的關係。 AFRelationship枚舉有多個選項。

什麼會導致 PDF/A 中的字元顯示問題?

PDF/A 要求文件中的所有字元都映射到視覺上和語意上正確的字體。 雖然並非所有字型都必須內嵌,但所使用的字型必須支援所需的字形。如果使用不正確或不完整的字體,某些字元可能會出現斷裂、遺失或不正確的呈現,尤其是在使用特殊腳本或符號的語言中。 有關檔案大小最佳化的注意事項,請探索我們的 PDF 壓縮指南,以平衡字型嵌入與檔案大小。

為什麼某些字元在 PDF/A 文件中會出現斷字?

例如,在下面的問題中,上方的範例使用正確的字型並正確顯示字元,而下方的範例則因為字型不匹配而無法正確顯示字元。

字元編碼比較,顯示從 DejaVuSans 和 Times New Roman 轉換 PDF/A 時的字型損壞

從現有 PDF 文件 (PDF/A-4)

本範例使用"ENV-2026-1847-Assessment-Report.pdf",這是一份 8 頁的市政環境影響評估文件。 該報告證明 PDF/A-4 適合用於存檔需要長期保存的官方政府文件——環境研究、監管文件和機構必須保留數十年的合規記錄。

PDF/A-4 格式非常適合這些文檔,因為它保證文件在一段時間內保持視覺效果,嵌入所有字體和資源,並支援官方認證所需的增強型數位簽章功能。

輸入檔:"ENV-2026-1847-Assessment-Report.pdf"

程式碼

:path=/static-assets/pdf/content-code-examples/how-to/save-as-pdfa4.cs
using IronPdf;

// Load the environmental impact assessment document
PdfDocument pdf = PdfDocument.FromFile("ENV-2026-1847-Assessment-Report.pdf");

// Save as PDF/A-4 compliant document for long-term archival
pdf.SaveAsPdfA("ENV-2026-1847-Report-PDFA4Compliant.pdf", PdfAVersions.PdfA4);
Imports IronPdf

' Load the environmental impact assessment document
Dim pdf As PdfDocument = PdfDocument.FromFile("ENV-2026-1847-Assessment-Report.pdf")

' Save as PDF/A-4 compliant document for long-term archival
pdf.SaveAsPdfA("ENV-2026-1847-Report-PDFA4Compliant.pdf", PdfAVersions.PdfA4)
$vbLabelText   $csharpLabel

輸出

輸出檔符合PDF/A-4標準:

! veraPDF 一致性檢查器顯示環境評估報告的 PDF/A-4 驗證成功

準備好看看您還能做些什麼嗎? 請造訪我們的教學頁面:建立 PDF

常見問題解答

如何使用 C# 將標準 PDF 轉換為 PDF/A-3b 格式?

使用 IronPDF,您只需使用兩行程式碼即可將任何標準 PDF 轉換為 PDF/A-3b 格式。只需使用 PdfDocument.FromFile() 載入您的 PDF,然後調用 SaveAsPdfA() 將其匯出為符合要求的 PDF/A-3b 文件,以便長期存檔。

什麼是 PDF/A-3b,為什麼它對文件歸檔很重要?

PDF/A-3b 是 ISO PDF 規格的嚴格子集,專為長期文件保存而設計。IronPdf 支援 PDF/A-3b 匯出,以確保您的文件永遠呈現與儲存時一模一樣的效果,因此非常適合對文件完整性要求極高的法律、政府和歸檔用途。

PDF/A 轉換是否支援 Section 508 可存取性規範?

是的,IronPdf 通過使用 Google Chromium 的渲染引擎來確保符合 Section 508 的規定,該引擎繼承了 Google 的無障礙功能。這意味著使用螢幕閱讀器等輔助技術的殘障使用者可以存取您的 PDF/A 文件。

我可以直接將 HTML 內容轉換成 PDF/A 格式嗎?

絕對可以IronPDF 可讓您直接將 HTML 內容或 URL 轉換為 PDF/A-3b 格式。Google Chromium 渲染引擎會在 HTML 轉換為 PDF 的過程中保留所有可存取性功能,確保您所產生的 PDF/A 文件完全符合規範。

與標準 PDF 格式相比,使用 PDF/A-3b 的主要優點是什麼?

IronPDF 的 PDF/A-3b 匯出功能可確保長期保存、在所有檢視器上提供一致的呈現、符合 Section 508 可訪問性規定,並遵守 ISO 存檔標準。這使得它非常適合法律文件、政府記錄以及任何需要永久存檔的內容。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 17,386,124 | 版本: 2026.2 剛剛發布