打印PDF文件但文本框显示不了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印PDF文件但文本框显示不了相关的知识,希望对你有一定的参考价值。

笔者要填一份表格式PDF格式的
里面好多地方用了文本框,电子档检查了没有问题
但是打印出来以后,所有电子档有文本框的地方都没有打印出来,怎么回事?
期待您的参与
谢谢
笔者是用文本框的方式(在文本框中输入文字同时把边框及填充颜色都设置为无)在横杠的位置进行填表,电子档所有的横杠处所填写的文字都能看到,但是打印出来的PDF横杠处所填写的文字都不见了,已经填好的表格打印出来却成了新的空白表格

你好,因为工作的原因,我这两天也遇到了。折腾了好久,终于明白了。


在打印的属性窗口中,有个“注释和表单”下拉选择项,默认选项是文档,所以加入的矩形框及其他东东怎么也不打印。改成 “文档和标记” 就可以了。


希望现在的回答能给到你一点帮助!

参考技术A

 点打印之后右上角属性下面的  下拉框  默认的是“文档和图章” ,你把它改成“文档和标记”,打印的时候就可以显示文本框了。觉得好的话多给分吧~

参考技术B 哦,你那是交互式pdf表单吧,在pdf软件里有打字机工具,可以直接在文本框里输入。用于申请表,邀请函等,返回pdf发出者。打印后就不是“文本框”了,或是图片,或是新的pdf,文本框也就失去了“可以填写的”属性,而是把原pdf内容与你的输入成为一体的一个文件。本回答被提问者采纳 参考技术C 为了提倡环保,节省纸张,在春节千万别送我贺卡,请在尽可能大的人民币上写下祝福的话送我就可以了,节约是美德,祝春节快乐! 参考技术D 最上方选项“文件”--“打印”-- “注释与标记”下拉(对话框右上方)-- “文档和标记”-- 打印,完成!

使用 Qt 打印 PDF 文件

【中文标题】使用 Qt 打印 PDF 文件【英文标题】:Print a PDF file using Qt 【发布时间】:2017-02-07 06:58:50 【问题描述】:

我想从特定路径打开和打印 PDF 文件,我之前的代码可以完美打开并直接将打印命令发送到打印机。 现在我想要的是有多台打印机,我必须选择一台,然后我想发送打印命令,我不想使用 QPrintDialog,我的打印机名称存储在 TextBox 中并检索该名称并通过打印我在文本框中设置的那台打印机:

我之前提到的代码如下:

#include <QSettings>
#include <QProcess>
#include <QDebug>

int main(int argc, char *argv[])

    const QString classesRoot = "HKEY_CLASSES_ROOT";

    // get ID of .pdf extension
    QSettings pdfSettings(classesRoot + "\\.pdf", QSettings::NativeFormat);
    QString pdfId = pdfSettings.value("Default").toString();

    // get path to default program that associated with PDF files
    QString printPath = QSettings(classesRoot + "\\" + pdfId + "\\shell\\print\\command", QSettings::NativeFormat).value("Default").toString();
    QString openPath = QSettings(classesRoot + "\\" + pdfId + "\\shell\\open\\command", QSettings::NativeFormat).value("Default").toString();
    qDebug() << "print path" << printPath;
    qDebug() << "open path" << openPath;

    // open .pdf file
    QProcess::startDetached(openPath.arg("full path to pdf file.pdf") );

    // print .pdf file
    QProcess printProcess;
    printProcess.start(printPath.arg("full path to pdf file.pdf") );
    printProcess.waitForFinished(-1);

    return 0;

【问题讨论】:

您可以使用Ghostscript打印pdf文件:***.com/questions/2599925/… 【参考方案1】:

或者您可以在打印过程中将您的打印机更改为默认打印机。

    将默认打印机更改为您的打印机 打印pdf 恢复旧的默认打印机

如何在 Windows 中检索和设置默认打印机: http://support.microsoft.com/default.aspx?scid=kb;EN-US;246772

由于 QT 没有系统管理功能。对于 QT,

    将默认打印机更改为您的打印机

    如何获取默认打印机名称?

    QPrinterInfo::defaultPrinterName()

    来自:http://doc.qt.io/qt-5/qprinterinfo.html#defaultPrinterName

    如何设置默认打印机?

    通过执行,RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "your printer name"

    来自:http://windowsitpro.com/windows/jsi-tip-8415-how-can-i-set-users-default-printer-batch-script

    如您所知,打印您的 pdf

    恢复旧的默认打印机

    通过执行,RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "old default printer name"

【讨论】:

我如何在 QT 中做到这一点? 可以,既然你用的是windows,就可以实现。 刚刚在QT中添加了怎么做

以上是关于打印PDF文件但文本框显示不了的主要内容,如果未能解决你的问题,请参考以下文章

我的网页上显示,载入PDF时信息错误。该怎么解决

使用 Qt 打印 PDF 文件

打印出来的pdf中有些文章显示不全,怎么设置pdf可以让他显示全????

PDF编辑技巧之如何给PDF文件添加文本框工具?

打印时更改 PDF 文件名 - 另存为操作

pdf流文件转图片