Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A workaround for #275 and a patch for #416 #417

Closed
wants to merge 4 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Update P.php
A workaround for issue #275
u07 authored Oct 30, 2020
commit 54d1c260d85a490d2c421ccdbf8ab134c611a20c
20 changes: 17 additions & 3 deletions vendor/mpdf/mpdf/src/Tag/P.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
<?php

namespace Mpdf\Tag;

class P extends InlineTag
{

public function open($attr, &$ahtml, &$ihtml)
{

class P extends BlockTag
{
parent::open($attr, $ahtml, $ihtml);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change the behavior of P elements for everybody, is that a correct interpretation?
Then you probably fixed this problem by creating an problem at another place?

Another problem is that the library has to be fixed manually on every update of the library. So is there not an alternative approach that solves the issue in a manner that does not need manual fixes of the library each update?

Copy link
Author

@u07 u07 Dec 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. This will make paragraphs inline, as it should be in HTML. That makes pictures float.

I've being using it for a year, works fine on my setup, but sure it requires more different tests. The most questionable thing is that we replace a natural paragraph line break with a BR element which has different stylesheet. For example, slightly bigger top/bottom margins. So, it is a workaround, but it makes things work.

I wish there were something better than patching mpdf. Well... may be we can patch "p" at runtime from the plugin? Can PHP substitute a whole existing class?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do no understand why mpdf would do this, and therefore i do also not know if this change is right.
Changes for mpdf library should be proposed in the https://github.com/mpdf/mpdf repository.


}

public function close(&$ahtml, &$ihtml)
{

parent::close($ahtml, $ihtml);

$this->mpdf->_saveTextBuffer("\n");
$this->mpdf->_saveTextBuffer("\n");

}