fix: replace fake Go/PHP SDK examples with plain HTTP examples
Some checks failed
Build & Deploy to Staging / Build & Deploy to Staging (push) Has been cancelled

- Go: replaced non-existent docfast-go SDK with net/http example
- PHP: replaced non-existent DocFast\Client SDK with file_get_contents example
- Removed fake Laravel facade example, added note instead
- Updated code labels to 'generate-pdf.go' and 'generate-pdf.php'
- Added test to prevent regression
This commit is contained in:
Hoid 2026-03-05 14:06:27 +01:00
parent c82e00f18b
commit 4f6659c8c9
2 changed files with 53 additions and 52 deletions

View file

@ -345,25 +345,32 @@ response.<span class="fn">raise_for_status</span>()
<h2>Go Integration</h2>
<p><strong>SDK coming soon.</strong> In the meantime, use the HTTP example below — it works with any HTTP client.</p>
<div class="code-block">
<span class="code-label">Go — Using the SDK</span>
<span class="code-label">Go — generate-pdf.go</span>
<pre><code><span class="kw">package</span> main
<span class="kw">import</span> (
<span class="str">"bytes"</span>
<span class="str">"encoding/json"</span>
<span class="str">"io"</span>
<span class="str">"net/http"</span>
<span class="str">"os"</span>
docfast <span class="str">"github.com/docfast/docfast-go"</span>
)
<span class="kw">func</span> main() {
client := docfast.New(<span class="str">"df_pro_your_api_key"</span>)
pdf, err := client.HTML(<span class="str">"&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;"</span>, &amp;docfast.PDFOptions{
Format: <span class="str">"A4"</span>,
Margin: &amp;docfast.Margin{Top: <span class="str">"20mm"</span>, Bottom: <span class="str">"20mm"</span>},
<span class="kw">func</span> <span class="fn">main</span>() {
body, _ := json.<span class="fn">Marshal</span>(<span class="kw">map</span>[<span class="kw">string</span>]<span class="kw">string</span>{
<span class="str">"html"</span>: <span class="str">"&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;"</span>,
})
<span class="kw">if</span> err != <span class="kw">nil</span> {
panic(err)
}
os.WriteFile(<span class="str">"output.pdf"</span>, pdf, <span class="num">0644</span>)
req, _ := http.<span class="fn">NewRequest</span>(<span class="str">"POST"</span>, <span class="str">"https://docfast.dev/v1/convert/html"</span>, bytes.<span class="fn">NewReader</span>(body))
req.Header.<span class="fn">Set</span>(<span class="str">"Authorization"</span>, <span class="str">"Bearer "</span>+os.<span class="fn">Getenv</span>(<span class="str">"DOCFAST_API_KEY"</span>))
req.Header.<span class="fn">Set</span>(<span class="str">"Content-Type"</span>, <span class="str">"application/json"</span>)
resp, err := http.DefaultClient.<span class="fn">Do</span>(req)
<span class="kw">if</span> err != <span class="kw">nil</span> { <span class="fn">panic</span>(err) }
<span class="kw">defer</span> resp.Body.<span class="fn">Close</span>()
pdf, _ := io.<span class="fn">ReadAll</span>(resp.Body)
os.<span class="fn">WriteFile</span>(<span class="str">"output.pdf"</span>, pdf, <span class="num">0644</span>)
}</code></pre>
</div>
</section>
@ -371,29 +378,26 @@ response.<span class="fn">raise_for_status</span>()
<!-- PHP -->
<section id="php" class="example-section">
<h2>PHP Integration</h2>
<p><strong>SDK coming soon.</strong> In the meantime, use the HTTP example below — it works with any HTTP client.</p>
<p><strong>SDK coming soon.</strong> In the meantime, use the HTTP example below — it works with any HTTP client. Laravel: Use this in any controller or Artisan command.</p>
<div class="code-block">
<span class="code-label">PHP — Using the SDK</span>
<pre><code><span class="kw">use</span> DocFast\Client;
<span class="kw">use</span> DocFast\PdfOptions;
<span class="code-label">PHP — generate-pdf.php</span>
<pre><code><span class="kw">&lt;?php</span>
$html = <span class="str">'&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;'</span>;
$client = <span class="kw">new</span> Client(<span class="str">'df_pro_your_api_key'</span>);
$options = [
<span class="str">'http'</span> =&gt; [
<span class="str">'method'</span> =&gt; <span class="str">'POST'</span>,
<span class="str">'header'</span> =&gt; <span class="fn">implode</span>(<span class="str">"\r\n"</span>, [
<span class="str">'Authorization: Bearer '</span> . <span class="fn">getenv</span>(<span class="str">'DOCFAST_API_KEY'</span>),
<span class="str">'Content-Type: application/json'</span>,
]),
<span class="str">'content'</span> =&gt; <span class="fn">json_encode</span>([<span class="str">'html'</span> =&gt; $html]),
],
];
$options = <span class="kw">new</span> PdfOptions();
$options-&gt;format = <span class="str">'A4'</span>;
$options-&gt;margin = [<span class="str">'top'</span> =&gt; <span class="str">'20mm'</span>, <span class="str">'bottom'</span> =&gt; <span class="str">'20mm'</span>];
$pdf = $client-&gt;html(<span class="str">'&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;'</span>, <span class="kw">null</span>, $options);
file_put_contents(<span class="str">'output.pdf'</span>, $pdf);</code></pre>
</div>
<div class="code-block">
<span class="code-label">Laravel — Using the Facade</span>
<pre><code><span class="kw">use</span> DocFast\Laravel\Facades\DocFast;
<span class="cmt">// In your controller</span>
$pdf = DocFast::html(view(<span class="str">'invoice'</span>)-&gt;render());
<span class="kw">return</span> response($pdf)
-&gt;header(<span class="str">'Content-Type'</span>, <span class="str">'application/pdf'</span>);</code></pre>
$pdf = <span class="fn">file_get_contents</span>(<span class="str">'https://docfast.dev/v1/convert/html'</span>, <span class="kw">false</span>, <span class="fn">stream_context_create</span>($options));
<span class="fn">file_put_contents</span>(<span class="str">'output.pdf'</span>, $pdf);
<span class="kw">echo</span> <span class="str">"✓ Saved output.pdf\n"</span>;</code></pre>
</div>
</section>

View file

@ -327,29 +327,26 @@ response.<span class="fn">raise_for_status</span>()
<!-- PHP -->
<section id="php" class="example-section">
<h2>PHP Integration</h2>
<p><strong>SDK coming soon.</strong> In the meantime, use the HTTP example below — it works with any HTTP client.</p>
<p><strong>SDK coming soon.</strong> In the meantime, use the HTTP example below — it works with any HTTP client. Laravel: Use this in any controller or Artisan command.</p>
<div class="code-block">
<span class="code-label">PHP — Using the SDK</span>
<pre><code><span class="kw">use</span> DocFast\Client;
<span class="kw">use</span> DocFast\PdfOptions;
<span class="code-label">PHP — generate-pdf.php</span>
<pre><code><span class="kw">&lt;?php</span>
$html = <span class="str">'&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;'</span>;
$client = <span class="kw">new</span> Client(<span class="str">'df_pro_your_api_key'</span>);
$options = [
<span class="str">'http'</span> =&gt; [
<span class="str">'method'</span> =&gt; <span class="str">'POST'</span>,
<span class="str">'header'</span> =&gt; <span class="fn">implode</span>(<span class="str">"\r\n"</span>, [
<span class="str">'Authorization: Bearer '</span> . <span class="fn">getenv</span>(<span class="str">'DOCFAST_API_KEY'</span>),
<span class="str">'Content-Type: application/json'</span>,
]),
<span class="str">'content'</span> =&gt; <span class="fn">json_encode</span>([<span class="str">'html'</span> =&gt; $html]),
],
];
$options = <span class="kw">new</span> PdfOptions();
$options-&gt;format = <span class="str">'A4'</span>;
$options-&gt;margin = [<span class="str">'top'</span> =&gt; <span class="str">'20mm'</span>, <span class="str">'bottom'</span> =&gt; <span class="str">'20mm'</span>];
$pdf = $client-&gt;html(<span class="str">'&lt;h1&gt;Hello&lt;/h1&gt;&lt;p&gt;Generated with DocFast&lt;/p&gt;'</span>, <span class="kw">null</span>, $options);
file_put_contents(<span class="str">'output.pdf'</span>, $pdf);</code></pre>
</div>
<div class="code-block">
<span class="code-label">Laravel — Using the Facade</span>
<pre><code><span class="kw">use</span> DocFast\Laravel\Facades\DocFast;
<span class="cmt">// In your controller</span>
$pdf = DocFast::html(view(<span class="str">'invoice'</span>)-&gt;render());
<span class="kw">return</span> response($pdf)
-&gt;header(<span class="str">'Content-Type'</span>, <span class="str">'application/pdf'</span>);</code></pre>
$pdf = <span class="fn">file_get_contents</span>(<span class="str">'https://docfast.dev/v1/convert/html'</span>, <span class="kw">false</span>, <span class="fn">stream_context_create</span>($options));
<span class="fn">file_put_contents</span>(<span class="str">'output.pdf'</span>, $pdf);
<span class="kw">echo</span> <span class="str">"✓ Saved output.pdf\n"</span>;</code></pre>
</div>
</section>