Napraw błędy połączenia Docker z IronPdfEngine na macOS ARM

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

Podczas łączenia aplikacji .NET z IronPdfEngine przez Docker na urządzeniu macOS ARM (Apple Silicon), aplikacja zgłasza wyjątek:

Unhandled exception. System.IO.FileNotFoundException: Error loading native library.
Not found in any of the possible locations

IronPdfConnectionType.Docker używa starszej implementacji gRPC, która nie obsługuje architektury ARM. Na macOS ARM (Apple Silicon) klient .NET nie może załadować wymaganego natywnego pliku binarnego gRPC, nawet gdy obraz Docker jest zmuszony do uruchomienia jako --platform linux/amd64. Platformy Windows i Linux x64 nie są dotknięte.

Rozwiązanie

Zamień IronPdfConnectionType.Docker na IronPdfConnectionType.RemoteServer w konfiguracji połączenia. RemoteServer używa nowszej implementacji gRPC, która jest zgodna z ARM:

using IronPdf;

var config = new IronPdfConnectionConfiguration
{
    ConnectionType = IronPdfConnectionType.RemoteServer,
    Host = "http://127.0.0.1",
    Port = 33350
};

IronPdf.Installation.ConnectToIronPdfHost(config);

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY");

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Hello from IronPdfEngine</h1>");
pdf.SaveAs("output.pdf");
using IronPdf;

var config = new IronPdfConnectionConfiguration
{
    ConnectionType = IronPdfConnectionType.RemoteServer,
    Host = "http://127.0.0.1",
    Port = 33350
};

IronPdf.Installation.ConnectToIronPdfHost(config);

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY");

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Hello from IronPdfEngine</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf

Dim config As New IronPdfConnectionConfiguration With {
    .ConnectionType = IronPdfConnectionType.RemoteServer,
    .Host = "http://127.0.0.1",
    .Port = 33350
}

IronPdf.Installation.ConnectToIronPdfHost(config)

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")

Dim renderer As New ChromePdfRenderer()
Dim pdf = Await renderer.RenderHtmlAsPdfAsync("<h1>Hello from IronPdfEngine</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Wymagania:

  • Kontener Docker IronPdfEngine musi być uruchomiony i dostępny na określonym hoście i porcie przed wywołaniem ConnectToIronPdfHost.
  • Użyj http://, a nie https://; Użycie https:// bez ważnego certyfikatu SSL powoduje błędy uszkodzenia ramek w kanale gRPC.

Zobacz również: rozwiązywanie błędów inicjalizacji Vulkan/ANGLE w Docker oraz naprawa błędów połączenia gRPC w kontenerach Azure.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 20,088,359 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.