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