dompdf / dompdf/dompdf

Images in table deformed by text

Open
#3,682 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
11.2k
Forks
1.8k
PR merge metrics
No merged PRs in 30d

Description

Hello !

I have a simple table that contain 2 columns:

<table>
   <tr>
       <td>
          <p>
             "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"
          </p>
       </td>
       <td><img style="heigth: 64px; width: auto" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtGVYSWZJSSoACAAAAAYAEgEDAAEAAAABAAAAGgEFAAEAAABWAAAAGwEFAAEAAABeAAAAKAEDAAEAAAACAAAAEwIDAAEAAAABAAAAaYcEAAEAAABmAAAAAAAAAEgAAAABAAAASAAAAAEAAAAGAACQBwAEAAAAMDIxMAGRBwAEAAAAAQIDAACgBwAEAAAAMDEwMAGgAwABAAAA//8AAAKgBAABAAAAQAAAAAOgBAABAAAAQAAAAAAAAABuEYT5AAAODklEQVR4nO1aC1STV7be+094hHdCQsLLkBCS8BBE6kBFQUUd67O11GltnXU7097V3jvWOnPtmrG3tbbadmpnbHXu9Hbund47s3SNnWktKhXkoXC1CvJwRB4JUBUEkkBePEIghP/cdX5gRmmnICLVGb61wgnn7PPv7O8/Z5999jkAs5jFLGYxi1nM4h8VCPcBUgA8+mXCFYTgBgCIJ0hCANAFhLQjwBng8Y7qOsyNf5cEqKXCTYiwFwFV3yBGCMARIMM79abu638XBMjlcm/BYM+vAfBp+j+Px7OlpsS2fnf5AkF4hMR3cMDl0ulabbkF58nV68ZEBPAAgG4g5Emdyfb5/U4Ao5GKTiDCagAYfnjtovqf/eSpBIHAC6trmgz1da02ZACT5ipEc+OV0pZWk/nZrfuMBqMlAQDYURKOwP0KjUz4plYmIlqp0Jn70ctN7tbj5P2dP6iMFgYb5gQEkZs/KrGk/YPdz9cMXv2MPPlQWi3tp5EKHXFhgfPgfkScRKLSyERD1JAPdv9zNTV+w+KUijGDlaLg2qzkhPzl8xLylMLgurH6hzMXVFISlibH1I2QICqB+xFamfC31IDFc5V/psbTT1SgsE0eGGT5/bvbTw21HB8eqx9qOe7+35+/kE/bqAyt+/KL/7JqpKLBERKCl9xvPoDRSEVdiCD6xZvP1353eSqd02C19bbQUiT0l39dJ6u99zoQwLH2x7a8Wt6gb00FIAd1RtsL36gQ7iGoQ4ISqPFAyMDSzPnasXpq2N8ynmsP8o+6uT374SV8WhLApRPpZOBeAoNhtBD4eF339PDgjJgK4uOUQbREgMgJVcI9BIYAjyuRGb6T5/gIvGhMQOE/kY18uEvQSIQLgYFsQpjSxk7LsbH6OIlENswfyuK5Pcrru7qabw53+wB+SJ0Sn89n70S3ocNsBYA5BEgXFxfM9AjQykQbgYcliLidYUiORip8jdarQ4ISWZ77MhLmEMu4r3ByY8ZLhUcQ8REA6H9nz3M+d6I/N/+8mZZIsGkiWQamGdQoLi4H4lqwcVMJAeJAxF1aqegDBpliAAzx9/G8DIheVC5WKvzeqPGUjP4P3/+xIT0tIXqq+lmWdRecroyg3wlC/owSoL3J+C3vHmzc8NNXljz1iwM6SgIgPAcI4vg5wefy9j6alJ2hLkQAPkG81fgHE6dsPMVv/uf4mUHXkJYADLHs8B9mjIBYWVDGzcZrM5Ymc/WLl6U8te9AHUcCtzSBmwBht29MWflYRkzhSBVAyjx12Z0ar29qrfnVhznfod+RwEdNnd1XJ+rDg2mC2NdnLyLMS9246UL6k/+UdnObJEoRHqpSl9cU5YvN3U51mc5QsjZNKX8wLlzV7XAVNbRalAajRWG22HMyF82LnYr+M2erv3j6ubfnAEAwEKJ3ueB7toGBwRkjQOLnrQLEFW0NdZIwTWytRK4IvaVdoZSHxmiqawrzhJSEizpDyZo0pXxhXJjK1jtQrLthVdY1XNfa7L2fZ6QnqSejkw5znb6l6pl/fefKoY+LFgNAABDSxjLMmuYua/tknoEwTRj15B9TT06H++Z9BxrjM5dx0+BmNJQWlR/a8WICAvomRAUXf7BtxVIGkdn3x4rinPPNWdSuJx7L+vzlHVvWju/b2mrSPbt1X+vgoItxs8N8u71fBUA4hzcCcprPemyu7ew0TfZ382AakAnAt0qD6RsIQYRUBPS6UpAXGBqjuSJRKG8dCVHKiDC1+lJNYb6wy+7UVDYai1enKqMWJYRHm3ucp/U3bMra+msx46fD9Rajbt2mnb49vY75/c5B5cDAUBT3xrlsELnIILNVZ7Tu7HQ4OF8zIwTESSR+wf5e2/v8fA4hwguI8CD9QQwyHXQu1hTmBUpV6ishX0NCqFrz55rCvKBOu1Nb1WgqWpOmUCyKj1B22vvPNLbZFHQ6jJFAjV+/aacvS9hIIGAmCAeAhU8A4SOWDz9u7LDtN/c5dVOxAadqPBfEEPI+IEYgYo9GLKndkjDPPyUsPNrHw8PnlTOFpaUt1zIJIf2b396vi89aMX/8M+pLiy8e3rEtnk6HRIWk4NfbspYjILP3SHnJybKrdCtLMhfPO3H2XE3yqPFdLGGXN3baa2CawJvilvVdRHiPAHqnhkeU/WbdI+HZsQnK8IAA0SVje1OOXqcHloVr3TYkAJLaovygEGV0TYhSxW12xiCJUoaHxqgv1xTmB3Xa+2OrmzoLVqcqlBkJEQqjta+0qd0e1dJq1BAggXfD+KmMANTKRIcAYDMPwHhw9QZHQog02tDX0/F6yenmOrMpBQB9v7YnIc5Ne/fVJK58KHV8U0NJccWhl7bF0ZGQHB2Sf3DrspV0JLxxuKw0v+Ja5kh38pLeZNsH0wze7QhrZaJdALDVk2Gu/uHRJ7yUQlHkL8u/KN1Tekbd5XREA6AnIaQeAE4C4ikgpAIB7QRJGCL61BUXBIvlUdVSVUzEV0aCWltDfYbR1h936Utz/kPfiYrOTIxUtFkc//dlh10OiEskfoI6c5+z4VshQCMNWoeI/4lAev97fbYrNCBA+sPjn56/cKM1A5DbVf4RCHlcb7K9ZnEM5Fj6nEUWx8Aps8N5OMpf+N4QGRYDYlrd6UKxSC6vkqnU40hQhIVrYxsuF5z0N1odcTVXu06uWhClWpIYGdVm7j17taNbQQA2Bvt5V1j6BppnlIAUAA+Xv+A4Aga/mJpenx4p127Pzz1Xb+5aTIc2QdysN1pfNzsGOr+uv6Gvb8jscH4u9hVIKQn1pwvFwsg5VaExt5IglitkHAmnTgYYrI74umvmvJUPKFRLkiLlFTrj2U57vwIIxlsczg9nlIBAWdBzCMwWf0+vhj3LVs79pKG2/Ji+IZ3G9cjger3RemIyzzE7nCfFvgIZJaHhTJFYGBlRFRqj+SoJsRwJ/u0WR9yV6+ZcuTRA8Nu8WionQCQ6c9/A72AmCRD7Cn4PiOJdGVnWsAD/wBfzcpGlnhnIS3qjjTrFSWN0JIyScFoSFBZeFarWjidBOkZCh8WRcOx8swcgDXPBzCBu6upz0kTHzBCgDRPTuHw3w6DplYxl8o/rrlRc7GiLJ0CaZEbb91smyLh8MwmQ2lByWhIUHn4pVK0N/woJ2th66hMQ0ZfGE4SQDJ3JVgvTCGZCCZZdQ4v44JBmBhFy9fVcHyR4oBTAPUW9RGqy/ogQsAKC19HX/j2x+sTR8vFC2oylSZvf2t9Is8R0FRnNG8DMEkBAQ4v5oSMxTHtfH/c/Ijupef+3MEIeGTm9QfD69PVdyZXHjpaNl4vPWpGc/cbb9YSAi2aWNFLhDphRApBwcXxkYKBXv8vlAiCBdLfXYLRzhxV3BAQ9LfjI3EAEz8/27JpfeezoxfFi81atnb92x8+qRzvtoSfHMFMEEEAJLYXeAu8e10DvSCVapkM5AjppuSpG3ZIpV5SOkjDv4mef3DIdWLd76Pzhvzj+vqiWlqlOvdsnAAnYaWl09PcHegkCuTokwulRT8T0b5C3t8cbS1dk0l0kJeHYm7uTK3L+VDZm/P5H11TZDB1pNAECBJ++A98zhXMBJEb6rtp77YMCDw8+AtoIgFAVLopobre23ZF2gvPpbuSB0IgQh8vVxxJWxqlE8Mx58/WUIefghQtHDuOY8QjwuK7TchymEczEIshdOSm70crJyoOCuFw7nyX08sKUERMhCicIaYjQmyiVRVV0tNM7Pgzd9RFCjtIbHyf3//xBm6Htr8YbrUdhmsFMJIAETtHyqt0e6yZkeKM2fuTgkYVtd5JQYYbIT2haPClEVstnGDx0pbp/RCGU+JlsjwOBwyOSpJcGP3fD+EkR0GCyVhCg04CI8hv1les0scneHh7NiBinCRH9CKYAtSx4ASBupev7yxnLNN2uQXuTxZw02pxbRZOdJutTLBlWul0Y0WCw5MBdAjMJGRYAORf8XsV5enRNXstYNkD3AcDAPm2IaMXtKIwVi2MYYHPo28+Om1sp9fUTvXKm4DIB9AcgnW4/68djso2m7mvNVmsP3EUwkxHi8d3v0BtYLrc75j8qy88tjJQnPJGQWEbnKUHIVcuEz08muRIrE65meWwZAIbFCEXnXkhduOiS0dBwyWBYSNsJgXebm2HCXP50gjcZoa6eQafY15sA4vK6rs6wGJG4Jjs2IXVg2H3uSqcpggFcH+zrvS7ET9Ad4Clou/lAIiIiQhAmYFYF+wkOAuKriCBIkoYW/mr1hsVdDof5mROfCkazuzV+JtsPDFPYW8xUSozRSkW5gPAQANreWraiNX1OVNLF9tbaV88UMf1udxwV4rbIAC1AiJUABCKgnIa6tI3PMNdfTE03rdfEpl6z2a49e+JT4mJZJQDpAQLp073Rmfac4Nw5gUKXiylHwBi6NG2Km3vhXx5IXcQwDHOqubH6E11df7PFohxdz+n0IojQOScw6Mv16lh8RBO3gM/j8XMbG86988XZeEAQcjE+A+t0BmsBfAvA2+3AXXDgDdN1mp4BgDef3/hvaYu6s5SqFB7DcD5lmGXZviFXt6+Hpx+fYbjbGgSAVHa0X9pdWjTcMzi4YKSOGGAYsvVdtvPwLQGn0kmlAi9+r+gAIDwz5kgRoUslEutSw8IhIiDQW+bn79PpcPS39/b2VxvaSL25SznMsvTwkgMBUgxDzPf1Fgs9RPnWgHfSmd7GZId5bwHCqtvoVsMC+Wmj0ZYH9wBwOh5C13aWP7weAWjyREMAQ+g6zzUSQnd8dQQgDxneMZ3BXAX/AGC0Yf7BSfJA7rraLGYxi1nMYhazgHsR/w8SYSKBnce/dAAAAABJRU5ErkJggg=="</td>
   </tr>
</table>

I tried every CSS possible, but if the text is very long, the left will push the image until the image get squashed and deformed against the right side of table.

How to force the text to get to the next line automatically depending image width ?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the supplied HTML table and embedded image in dompdf, then inspect the table and image layout behavior involved in rendering it to PDF. Compare the output with the reported deformation when the left-cell text is long; done means the text wraps without squashing the image against the table edge.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, html, php
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.