Browse Source

Adjusted qpdf implementation to reliably handle non-ascii content by utilizing UTF-8 marshaler (based on #1121)

Marcin Ziąbek 9 months ago
parent
commit
2343175033
1 changed files with 2 additions and 1 deletions
  1. 2 1
      Source/QuestPDF/Qpdf/QpdfAPI.cs

+ 2 - 1
Source/QuestPDF/Qpdf/QpdfAPI.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 using System.Text;
+using QuestPDF.Skia;
 
 namespace QuestPDF.Qpdf;
 
@@ -80,7 +81,7 @@ static class QpdfAPI
         public static extern void qpdfjob_cleanup(IntPtr jobHandle);
     
         [DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
-        public static extern int qpdfjob_initialize_from_json(IntPtr jobHandle, string json);
+        public static extern int qpdfjob_initialize_from_json(IntPtr jobHandle, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringMarshaller))] string json);
 
         [DllImport(LibraryName, CallingConvention = CallingConvention.Cdecl)]
         public static extern int qpdfjob_run(IntPtr jobHandle);