コード例 #1
0
        public string GetObjectSetting(
            IntPtr settings,
            string name)
        {
            var buffer = ArrayPool <byte> .Shared.Rent(MaxBufferSize);

            try
            {
                var retVal = NativeMethodsPdf.wkhtmltopdf_get_object_setting(
                    settings,
                    name,
                    buffer,
                    buffer.Length);

                if (retVal != 1)
                {
                    throw new GetObjectSettingsFailedException($"GetObjectSettings failed for obtaining setting={name}");
                }

                var nullPos = Array.IndexOf(buffer, byte.MinValue);

                return(Encoding.UTF8.GetString(buffer, 0, nullPos));
            }
            finally
            {
                ArrayPool <byte> .Shared.Return(buffer);
            }
        }
コード例 #2
0
        protected override int GetGlobalSettingImpl(
            IntPtr settings,
            string name,
            byte[] buffer)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException(nameof(buffer));
            }

            return(NativeMethodsPdf.wkhtmltopdf_get_global_setting(
                       settings,
                       name,
                       buffer,
                       buffer.Length));
        }
コード例 #3
0
 public override IntPtr CreateConverter(
     IntPtr globalSettings) =>
 NativeMethodsPdf.wkhtmltopdf_create_converter(globalSettings);
コード例 #4
0
 public override int SetGlobalSetting(
     IntPtr settings,
     string name,
     string?value) => NativeMethodsPdf.wkhtmltopdf_set_global_setting(settings, name, value);
コード例 #5
0
 public IntPtr CreateObjectSettings() => NativeMethodsPdf.wkhtmltopdf_create_object_settings();
コード例 #6
0
 public override int GetPhaseCount(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_phase_count(converter);
コード例 #7
0
 public override bool Convert(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_convert(converter);
コード例 #8
0
 public override int SetProgressChangedCallback(
     IntPtr converter,
     VoidCallback callback)
 {
     return(NativeMethodsPdf.wkhtmltopdf_set_progress_changed_callback(converter, callback));
 }
コード例 #9
0
 protected override IntPtr GetPhaseDescriptionImpl(
     IntPtr converter,
     int phase) =>
 NativeMethodsPdf.wkhtmltopdf_phase_description(converter, phase);
コード例 #10
0
 public override int Initialize(
     int useGraphics) =>
 NativeMethodsPdf.wkhtmltopdf_init(useGraphics);
コード例 #11
0
 protected override IntPtr GetLibraryVersionImpl() => NativeMethodsPdf.wkhtmltopdf_version();
コード例 #12
0
 protected override int GetOutputImpl(
     IntPtr converter,
     out IntPtr data) =>
 NativeMethodsPdf.wkhtmltopdf_get_output(converter, out data);
コード例 #13
0
 public void AddObject(
     IntPtr converter,
     IntPtr objectSettings,
     string data) =>
 NativeMethodsPdf.wkhtmltopdf_add_object(converter, objectSettings, data);
コード例 #14
0
 public override void DestroyConverter(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_destroy_converter(converter);
コード例 #15
0
 protected override IntPtr GetProgressStringImpl(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_progress_string(converter);
コード例 #16
0
 public override int SetErrorCallback(
     IntPtr converter,
     StringCallback callback)
 {
     return(NativeMethodsPdf.wkhtmltopdf_set_error_callback(converter, callback));
 }
コード例 #17
0
 public override int Terminate() => NativeMethodsPdf.wkhtmltopdf_deinit();
コード例 #18
0
 public override int SetFinishedCallback(
     IntPtr converter,
     IntCallback callback)
 {
     return(NativeMethodsPdf.wkhtmltopdf_set_finished_callback(converter, callback));
 }
コード例 #19
0
 public override int ExtendedQt() => NativeMethodsPdf.wkhtmltopdf_extended_qt();
コード例 #20
0
 public override int GetCurrentPhase(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_current_phase(converter);
コード例 #21
0
 public override IntPtr CreateGlobalSettings() => NativeMethodsPdf.wkhtmltopdf_create_global_settings();
コード例 #22
0
 public override int GetHttpErrorCode(
     IntPtr converter) =>
 NativeMethodsPdf.wkhtmltopdf_http_error_code(converter);
コード例 #23
0
 public override int DestroyGlobalSetting(
     IntPtr settings) =>
 NativeMethodsPdf.wkhtmltopdf_destroy_global_settings(settings);
コード例 #24
0
 public int DestroyObjectSetting(
     IntPtr settings) =>
 NativeMethodsPdf.wkhtmltopdf_destroy_object_settings(settings);
コード例 #25
0
 public int SetObjectSetting(
     IntPtr settings,
     string name,
     string?value) => NativeMethodsPdf.wkhtmltopdf_set_object_setting(settings, name, value);