diff --git a/itext.tests/itext.svg.tests/itext/svg/converter/SvgConverterIntegrationTest.cs b/itext.tests/itext.svg.tests/itext/svg/converter/SvgConverterIntegrationTest.cs
index d9faef4ecb..20556f1c53 100644
--- a/itext.tests/itext.svg.tests/itext/svg/converter/SvgConverterIntegrationTest.cs
+++ b/itext.tests/itext.svg.tests/itext/svg/converter/SvgConverterIntegrationTest.cs
@@ -526,5 +526,10 @@ public virtual void ParseDoubleValues() {
// So this test checks if there are any differences
ConvertAndCompare(sourceFolder, destinationFolder, "svgStackOver");
}
+
+ [NUnit.Framework.Test]
+ public virtual void ParsePathWithNewLinesTest() {
+ ConvertAndCompareSinglePage(sourceFolder, destinationFolder, "pathWithNewLines");
+ }
}
}
diff --git a/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/cmp_pathWithNewLines.pdf b/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/cmp_pathWithNewLines.pdf
new file mode 100644
index 0000000000..5faf4b9927
Binary files /dev/null and b/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/cmp_pathWithNewLines.pdf differ
diff --git a/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/pathWithNewLines.svg b/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/pathWithNewLines.svg
new file mode 100644
index 0000000000..083a82b5e2
--- /dev/null
+++ b/itext.tests/itext.svg.tests/resources/itext/svg/converter/SvgConverterTest/pathWithNewLines.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/itext/itext.svg/itext/svg/renderers/impl/PathSvgNodeRenderer.cs b/itext/itext.svg/itext/svg/renderers/impl/PathSvgNodeRenderer.cs
index a78209e4ce..3d8540bbc6 100644
--- a/itext/itext.svg/itext/svg/renderers/impl/PathSvgNodeRenderer.cs
+++ b/itext/itext.svg/itext/svg/renderers/impl/PathSvgNodeRenderer.cs
@@ -343,6 +343,7 @@ internal virtual ICollection ParsePathOperations() {
throw new SvgProcessingException(SvgExceptionMessageConstant.INVALID_PATH_D_ATTRIBUTE_OPERATORS).SetMessageParams
(pathString);
}
+ pathString = iText.Commons.Utils.StringUtil.ReplaceAll(pathString, "\\s+", " ").Trim();
String[] operators = SplitPathStringIntoOperators(pathString);
foreach (String inst in operators) {
String instTrim = inst.Trim();
diff --git a/port-hash b/port-hash
index f07d944028..00f3d54519 100644
--- a/port-hash
+++ b/port-hash
@@ -1 +1 @@
-d7b7288459c53470547f639cf5386cb2636c2eca
+37dda083dcfd94979087cd526aa7936c74c4fdc7