diff --git a/pkgs/development/python-modules/html2pdf4doc/default.nix b/pkgs/development/python-modules/html2pdf4doc/default.nix
new file mode 100644
index 000000000000..6e59066f3e4d
--- /dev/null
+++ b/pkgs/development/python-modules/html2pdf4doc/default.nix
@@ -0,0 +1,49 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+ hatchling,
+ requests,
+ selenium,
+ versionCheckHook,
+ webdriver-manager,
+}:
+
+buildPythonPackage rec {
+ pname = "html2pdf4doc";
+ version = "0.0.20";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "mettta";
+ repo = "html2pdf4doc_python";
+ tag = version;
+ hash = "sha256-VFNM66NbApB6qrmK5j0MaqkD4Riwzo7Cy6XjPW6/4lc=";
+ };
+
+ build-system = [
+ hatchling
+ ];
+
+ dependencies = [
+ requests
+ selenium
+ webdriver-manager
+ ];
+
+ pythonImportsCheck = [ "html2pdf4doc" ];
+
+ nativeCheckInputs = [
+ versionCheckHook
+ ];
+
+ versionCheckProgramArg = "-v";
+
+ meta = {
+ description = "Print HTML to PDF in the Browser – Python Package for HTML2PDF.js";
+ homepage = "https://github.com/mettta/html2pdf4doc_python";
+ changelog = "https://github.com/mettta/html2pdf4doc_python/releases/tag/${version}";
+ license = lib.licenses.asl20;
+ maintainers = with lib.maintainers; [ puzzlewolf ];
+ };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 894f42820284..b9e96318465f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6587,6 +6587,8 @@ self: super: with self; {
html2image = callPackage ../development/python-modules/html2image { };
+ html2pdf4doc = callPackage ../development/python-modules/html2pdf4doc { };
+
html2text = callPackage ../development/python-modules/html2text { };
html5-parser = callPackage ../development/python-modules/html5-parser { };