> For the complete documentation index, see [llms.txt](https://mostafaznv.gitbook.io/pdf-optimizer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mostafaznv.gitbook.io/pdf-optimizer/advanced-usage/export-script.md).

# Export Script

Retrieve the Ghostscript script generated by pdf-optimizer for external analysis or use. Choose between exportScriptAsString and exportScriptAsArray methods to obtain the script as a string or an array, respectively.

Retrieve the Ghostscript script or command generated by pdf-optimizer for further analysis or external use. The methods exportScriptAsString and exportScriptAsArray provide options to obtain the Ghostscript script as a string or an array, respectively.

### To Array

{% tabs %}
{% tab title="Standalone PHP" %}

```php
use Mostafaznv\PdfOptimizer\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;

# input file (optinal, could be null)
$input = 'path/to/large.pdf';

# output file (optinal, could be null)
$output = 'path/to/optimized.pdf';

# export script as array
$command = PdfOptimizer::init()
    ->compressFonts()
    ->colorImageResolution(60)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->command($input, $output);


var_dump($command);
```

{% endtab %}

{% tab title="Laravel" %}

```php
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

# input file (optinal, could be null)
$input = 'input.pdf';

# output file (optinal, could be null)
$output = 'optimized.pdf';

# export script as array
$command = PdfOptimizer::open($input)
    ->settings(PdfSettings::SCREEN)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->colorImageResolution(50)
    ->command($input, $output);


dd($command);
```

{% endtab %}
{% endtabs %}

### To String

{% tabs %}
{% tab title="Standalone PHP" %}

```php
use Mostafaznv\PdfOptimizer\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;

# input file (optinal, could be null)
$input = 'path/to/large.pdf';

# output file (optinal, could be null)
$output = 'path/to/optimized.pdf';

# export script as array
$command = PdfOptimizer::init()
    ->compressFonts()
    ->colorImageResolution(60)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->toString($input, $output);


echo $command;
```

{% endtab %}

{% tab title="Laravel" %}

```php
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

# input file (optinal, could be null)
$input = 'input.pdf';

# output file (optinal, could be null)
$output = 'optimized.pdf';

# export script as array
$command = PdfOptimizer::open($input)
    ->settings(PdfSettings::SCREEN)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->colorImageResolution(50)
    ->toString($input, $output);


dd($command);
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Both the <mark style="color:red;">`command`</mark> and <mark style="color:red;">`toString`</mark> methods have optional parameters that allow for specifying the <mark style="color:red;">`input`</mark> and <mark style="color:red;">`output`</mark> file paths, providing a more personalized export.
{% endhint %}
