标签: pdf-generation

无限表循环;行内容大于页面(例如因为您没有缩放图像)

我使用 Itext 库将 html 中的表格转换为 pdf 并收到“无限表格循环;行内容大于页面(例如因为您没有缩放图像)”错误。请在下面找到我的代码。

public static File createPDF(File outputDir, Context context) {
    Document document = null;
    String htmlStr = "<table><tr><td><div class="two-col-pair-one"><div align="center">1:  9_ITEM</div><div class="row-odd">
<div class="packet-font">
<div class="two-col">Cust. Name</div>
<div class="two-col">Gg</div>
</div>
<div style="clear:both"></div>
</div>
<div class="row-even">
<div class="packet-font">
<div class="two-col">Org. City</div>
<div class="two-col">D</div>
</div>
<div style="clear:both"></div>
</div>
<div class="row-odd">
<div class="packet-font">
<div class="two-col">Dest. City</div>
<div class="two-col">D</div>
</div>
<div style="clear:both"></div>
</div>
<div class="row-even">
<div class="packet-font">
<div class="two-col">Product Type</div>
<div class="two-col">Domestic Moving</div>
</div>
<div style="clear:both"></div>
</div>
<div class="row-odd"> …
Run Code Online (Sandbox Code Playgroud)

pdf-generation html-table itext html-to-pdf

1
推荐指数
1
解决办法
3479
查看次数

Reportlab,如何更改页面方向?

我正在创建包含许多页面的 pdf 文件。我希望第一页是纵向的,其余页面是横向的。我试过,

story.append(NextPageTemplate('landscape')) 参考

但我得到了,

ValueError: can't find template('landscape') handle_nextPageTemplate args=('landscape',)

python pdf pdf-generation reportlab

1
推荐指数
1
解决办法
2489
查看次数

PHP 中的 Base64 转 PDF - 获取损坏的文件

我正在尝试使用 PHP 从 Base64 字符串生成 PDF。当我将其粘贴到浏览器中或使用网站 base64.guru 时,base64 正在工作,但是每次它在本地写入以及当我尝试打开它时,它都会说它已损坏。

Base64 字符串是

$text = 'data:application/pdf;base64,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Cjw8IC9UeXBlIC9FeHRHU3RhdGUKL0JNIC9Ob3JtYWwKL0NBIDEKPj4KZW5kb2JqCnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA3NCAwMDAwMCBuIAowMDAwMDAwMTIwIDAwMDAwIG4gCjAwMDAwMDAzNzIgMDAwMDAgbiAKMDAwMDAwMDQwMSAwMDAwMCBuIAowMDAwMDAwNTM4IDAwMDAwIG4gCjAwMDAwMDA2NDEgMDAwMDAgbiAKMDAwMDAwMTE3MiAwMDAwMCBuIAowMDAwMDAxMjgxIDAwMDAwIG4gCjAwMDAwMDEzODkgMDAwMDAgbiAKMDAwMDAwMTUwMCAwMDAwMCBuIAowMDAwMDAxNjE1IDAwMDAwIG4gCjAwMDAwMDE2NzUgMDAwMDAgbiAKMDAwMDAwMTczNSAwMDAwMCBuIAowMDAwMDAxNzkyIDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTYKL1Jvb3QgMSAwIFIKL0luZm8gNSAwIFIKL0lEWzwyOWE5YjI5NDI2MWQ5ZWIxNDIyYTgyZGU2N2ZmNDdiYj48MjlhOWIyOTQyNjFkOWViMTQyMmE4MmRlNjdmZjQ3YmI+XQo+PgpzdGFydHhyZWYKMTg0OQolJUVPRgo=';
Run Code Online (Sandbox Code Playgroud)

这就是我尝试使用的。它将文件写入该文件夹,但它说文件已损坏。我已经尝试了有关堆栈溢出的所有不同解决方案,但似乎无法使其工作。

$data = sanitize_text_field(base64_encode($text));
file_put_contents('output.pdf', base64_decode($data));
Run Code Online (Sandbox Code Playgroud)

php pdf pdf-generation

1
推荐指数
1
解决办法
1849
查看次数

如何从 Flask 中的 jinja 模板创建 PDF 文件?[问题标记为 pythonanywhere]

我的网络应用程序是用 Flask 编写的。我想将 jinja 模板(HTML 格式)转换为 PDF 文件。我使用 pythonanywhere.com 作为我的应用程序的主机。

我已经使用 Flask 使用在开发环境 fedora31 上运行的 pdfkit、wkhtmltopdf、jinja2 成功生成了动态 PDF。当尝试在 pythonanywhere 环境中安装 pdfkit 时,我收到消息权限被拒绝。

在此输入图像描述

对于 weasyprint,还需要安装库;这也是 pythonanywhere.com 的限制。

xhtml2pdf 的情况也是如此,无法在 pythonanywhere.com 安装

总结:pdfkit、weasyprint、xhtml2pdf 目前不是可行的替代方案,但需要在 pythonanywhere.com 安装这些库

pythonanywhere.com 安装新库有此限制。

我的问题是:

知道我的 Flask 应用程序需要 pythonanywhere.com 提供的环境才能运行,我必须采取哪些可行的替代方案将 jinja 模板转换为 PDF 格式?

任何解决这种情况的指导将不胜感激。谢谢。

pdf-generation pdfkit flask python-3.x pythonanywhere

1
推荐指数
1
解决办法
5521
查看次数

使用 React PDF 设计列表

我创建了一个小型 React 应用程序来测试 React PDF。

单击下载链接后,它会按预期创建 pdf。我的问题是,我创建了一个由无序列表和三个列表项组成的显示组件,但它无法正确显示列表。

它按照我的预期从 App.js 渲染,但是当我打印 PDF 时,它会将列表混合成连续的行。

在此输入图像描述我尝试了不同的样式,放置组件和一堆其他方法都无济于事。

是否可以使用 React PDF 实现我想要的样式?

如果是这样,任何建议将非常受欢迎。

应用程序.js

import './App.css';
import { MyDocument } from './pdf';
import { PDFDownloadLink } from '@react-pdf/renderer';
import { Display } from './display';




function App() {
  return (
    <div className="App">
      {<PDFDownloadLink document={<MyDocument />} fileName="somename.pdf">
        {({ blob, url, loading, error }) =>
          loading ? 'Loading document...' : 'Download now!'
        }
      </PDFDownloadLink>}
      <Display />
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

显示.js

export function Display() {
    return …
Run Code Online (Sandbox Code Playgroud)

javascript pdf-generation reactjs react-pdf

1
推荐指数
1
解决办法
6306
查看次数

有没有办法用 remix.run 生成 pdf

在 netlify 上托管 remix 应用程序,使用 supabase 作为数据库。有没有办法使用 remix 生成 pdf 文档?

pdf pdf-generation supabase remix.run

1
推荐指数
1
解决办法
2372
查看次数

Laravel dompdf 生成和下载 pdf 花费了太多时间

我最近正在为数据库中的简单 2 条记录生成报告。为了生成此报告,我使用 Laravel dompdf 包,但下载时间太长,这是意料之外的。我使用的代码如下:

$pdf = PDF::loadView('dashboard.sales-report', compact('sales'));
$pdf->setPaper('A4', 'portrait');
$sales_report_file_name = "daily_sales_".date('Y-m-d').".pdf";
return $pdf->download($sales_report_file_name);
Run Code Online (Sandbox Code Playgroud)

并在我们的视图页面中使用 css。但只有两条记录时间超过2分钟。有人可以帮我吗?提前致谢。

刀片文件代码:

@extends('layouts.invoice_master')
@section('content')
@php
  $total_discount = 0;
  $total_advance = 0;
  $total_net_sum = 0;
  $total = 0;
@endphp
  <!-- START CONTAINER FLUID -->
    <div class=" container-fluid   container-fixed-lg">
      <!-- START card -->
      <div class="card card-default m-t-20">
        <div class="card-body">
          <!-- Define header and footer blocks before your content -->
          <header>
              <p>{{ $report_for }} </p>
              <p>{{ $report_for_date }}</p>
              <p>{{ $report_for_month }}</p> 
          </header>                          
          <div class="invoice padding-50 …
Run Code Online (Sandbox Code Playgroud)

pdf-generation reportgenerator laravel-6 laravel-dompdf

1
推荐指数
1
解决办法
3311
查看次数

创建多页PDF时出错

有人已经在iPad应用程序中创建了PDF文档吗?我看到UIKit中有新功能来执行此操作,但我找不到任何代码示例.

BOOL UIGraphicsBeginPDFContextToFile (
   NSString *path,
   CGRect bounds,
   NSDictionary *documentInfo
);

void UIGraphicsBeginPDFPage (
   void
);
Run Code Online (Sandbox Code Playgroud)

我找到了一个可以在iPhone上运行的例子,但这给了我错误:

Fri Apr 30 11:55:32 wks104.hs.local PDF[1963] <Error>: CGFont/Freetype: The function `create_subset' is currently unimplemented.
Fri Apr 30 11:55:32 wks104.hs.local PDF[1963] <Error>: invalid Type1 font: unable to stream font.
Fri Apr 30 11:55:32 wks104.hs.local PDF[1963] <Error>: FT_Load_Glyph failed: error 6.
Fri Apr 30 11:55:32 wks104.hs.local PDF[1963] <Error>: FT_Load_Glyph failed: error 6.
Fri Apr 30 11:55:32 wks104.hs.local PDF[1963] <Error>: FT_Load_Glyph failed: error 6.
Fri Apr …
Run Code Online (Sandbox Code Playgroud)

pdf-generation multipage ipad

0
推荐指数
1
解决办法
9148
查看次数

如何更改CGPDFPageRef的背景颜色,以及如何删除页面的阴影

我试图用a UIWebView而不是a 来绘制内容UIView,因为我喜欢UIWebView通过捏合放大和缩小的能力.这是我的代码:

// setup environment
CGRect outputRect = myWebView.bounds;
CFMutableDataRef data = CFDataCreateMutable(NULL, 0); // init with default allocator and unlimited size
CGDataConsumerRef dataConsumer = CGDataConsumerCreateWithCFData(data);
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, &outputRect, NULL);

CGPDFContextBeginPage(pdfContext, NULL);

// draw something
CGContextSetRGBFillColor (pdfContext, 1, 0, 0, 1);
CGContextFillRect (pdfContext, CGRectMake (0, 0, 200, 100 ));
CGContextSetRGBFillColor (pdfContext, 0, 0, 1, .5);
CGContextFillRect (pdfContext, CGRectMake (0, 0, 100, 200 ));

CGPDFContextEndPage(pdfContext);

// load drawing in webView
[myWebView loadData:(NSData *)data …
Run Code Online (Sandbox Code Playgroud)

pdf-generation uiwebview cgpdfdocument ios cgpdf

0
推荐指数
1
解决办法
1298
查看次数

什么是HTML到PDF的最佳解决方案(在Azure Web应用程序上)

实际上我正在尝试使用NReco PDF转换器将html内容转换为pdf,但是,这行代码为pdfDoc.GeneratePdf(HtmlContent); 无法通过Azure Web应用程序,但它在我的开发环境中正常工作.所以我的问题是我应该选择哪种云服务?

asp.net-mvc pdf-generation wkhtmltopdf azure-web-sites

0
推荐指数
2
解决办法
3769
查看次数