Skip to content

Commit

Permalink
Merge pull request #508 from KnpLabs/v2-unstable-wkhtmltopdf-toc-options
Browse files Browse the repository at this point in the history
feat: implement wkhtmltopdf backend toc options
  • Loading branch information
alexpozzi authored Oct 16, 2024
2 parents ec18d03 + 63687b0 commit dcd1046
Show file tree
Hide file tree
Showing 45 changed files with 187 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class CookieJarOption implements ExtraOption
final class CookieJar implements ExtraOption
{
public function __construct(public readonly string $path) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class CopiesOption implements ExtraOption
final class Copies implements ExtraOption
{
/**
* @param positive-int $number
Expand Down
20 changes: 20 additions & 0 deletions src/Backend/WkHtmlToPdf/ExtraOption/DisableDottedLines.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

declare(strict_types=1);

namespace KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class DisableDottedLines implements ExtraOption
{
public function isRepeatable(): bool
{
return false;
}

public function compile(): array
{
return ['--disable-dotted-lines'];
}
}
20 changes: 20 additions & 0 deletions src/Backend/WkHtmlToPdf/ExtraOption/DisableTocLinks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

declare(strict_types=1);

namespace KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class DisableTocLinks implements ExtraOption
{
public function isRepeatable(): bool
{
return false;
}

public function compile(): array
{
return ['--disable-toc-links'];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class DpiOptions implements ExtraOption
final class Dpi implements ExtraOption
{
/**
* @param positive-int $dpi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterCenterOption implements ExtraOption
final class FooterCenter implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterFontNameOption implements ExtraOption
final class FooterFontName implements ExtraOption
{
public function __construct(public readonly string $fontName) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterFontSizeOption implements ExtraOption
final class FooterFontSize implements ExtraOption
{
/**
* @param positive-int $size
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterHtmlOption implements ExtraOption
final class FooterHtml implements ExtraOption
{
public function __construct(public readonly string $uri) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterLeftOption implements ExtraOption
final class FooterLeft implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterLineOption implements ExtraOption
final class FooterLine implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterRightOption implements ExtraOption
final class FooterRight implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class FooterSpacingOption implements ExtraOption
final class FooterSpacing implements ExtraOption
{
public function __construct(public readonly int $spacing) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class GrayscaleOption implements ExtraOption
final class Grayscale implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderCenterOption implements ExtraOption
final class HeaderCenter implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderFontNameOption implements ExtraOption
final class HeaderFontName implements ExtraOption
{
public function __construct(public readonly string $fontName) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderFontSizeOption implements ExtraOption
final class HeaderFontSize implements ExtraOption
{
/**
* @param positive-int $size
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderHtmlOption implements ExtraOption
final class HeaderHtml implements ExtraOption
{
public function __construct(public readonly string $uri) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderLeftOption implements ExtraOption
final class HeaderLeft implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderLineOption implements ExtraOption
final class HeaderLine implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderRightOption implements ExtraOption
final class HeaderRight implements ExtraOption
{
public function __construct(public readonly string $text) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class HeaderSpacingOption implements ExtraOption
final class HeaderSpacing implements ExtraOption
{
public function __construct(public readonly int $spacing) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class ImageDpiOption implements ExtraOption
final class ImageDpi implements ExtraOption
{
/**
* @param positive-int $dpi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class ImageQualityOption implements ExtraOption
final class ImageQuality implements ExtraOption
{
/**
* @param positive-int $quality
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class LowQualityOption implements ExtraOption
final class LowQuality implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class MarginBottomOption implements ExtraOption
final class MarginBottom implements ExtraOption
{
public function __construct(public readonly string $margin) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class MarginLeftOption implements ExtraOption
final class MarginLeft implements ExtraOption
{
public function __construct(public readonly string $margin) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class MarginRightOption implements ExtraOption
final class MarginRight implements ExtraOption
{
public function __construct(public readonly string $margin) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class MarginTopOption implements ExtraOption
final class MarginTop implements ExtraOption
{
public function __construct(public readonly string $margin) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class NoCollateOption implements ExtraOption
final class NoCollate implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class NoPdfCompressionOption implements ExtraOption
final class NoPdfCompression implements ExtraOption
{
public function isRepeatable(): bool
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;
use KNPLabs\Snappy\Core\Backend\Options\PageOrientation;

final class OrientationOption implements ExtraOption
final class Orientation implements ExtraOption
{
public function __construct(private readonly ExtraOption\Orientation\Value $orientation) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class PageHeightOption implements ExtraOption
final class PageHeight implements ExtraOption
{
public function __construct(public readonly string $height) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class PageSizeOption implements ExtraOption
final class PageSize implements ExtraOption
{
public function __construct(public readonly string $size) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class PageWidthOption implements ExtraOption
final class PageWidth implements ExtraOption
{
public function __construct(public readonly string $width) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class ReplaceOption implements ExtraOption
final class Replace implements ExtraOption
{
public function __construct(public readonly string $name, private readonly string $value) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class TitleOption implements ExtraOption
final class Title implements ExtraOption
{
public function __construct(public readonly string $title) {}

Expand Down
20 changes: 20 additions & 0 deletions src/Backend/WkHtmlToPdf/ExtraOption/Toc.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

declare(strict_types=1);

namespace KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

use KNPLabs\Snappy\Backend\WkHtmlToPdf\ExtraOption;

final class Toc implements ExtraOption
{
public function isRepeatable(): bool
{
return false;
}

public function compile(): array
{
return ['toc'];
}
}
Loading

0 comments on commit dcd1046

Please sign in to comment.