我需要批量填写pdf表单,所以我试着写一个python代码从csv文件中为我做.我在这个问题中使用了第二个答案并且它填写了表格,但是当我打开填写的表格时,除非选择相应的字段,否则答案不会显示.表格打印时也没有显示答案.我查看了PyPDF2文档,看看我是否可以压缩生成的表单但是这个功能还没有实现,即使大约一年前已经被要求了.我的偏好是不使用pdftk所以我可以编译脚本而不需要更多的依赖.在上述问题中使用原始代码时,某些字段会显示在打印件中,有些字段不会让我对它们的工作方式感到困惑.任何帮助表示赞赏.
这是代码.
# -*- coding: utf-8 -*-
from collections import OrderedDict
from PyPDF2 import PdfFileWriter, PdfFileReader
def _getFields(obj, tree=None, retval=None, fileobj=None):
"""
Extracts field data if this PDF contains interactive form fields.
The *tree* and *retval* parameters are for recursive use.
:param fileobj: A file object (usually a text file) to write
a report to on all interactive form fields found.
:return: A dictionary where each key is a field name, and each
value is a :class:`Field<PyPDF2.generic.Field>` object. …Run Code Online (Sandbox Code Playgroud) 我知道numpy.where给出了条件适用的数组坐标的元组.但是,如果我想要一个阵列怎么办?假设以下2d数组:
a=np.array([[1 1 1 1 0],
[1 1 1 0 0],
[1 0 0 0 0],
[1 0 1 1 1],
[1 0 0 1 0]])
Run Code Online (Sandbox Code Playgroud)
现在我想要的只是第一次出现的零,但对于每一行,即使它不存在.像indexOf()Java 一样的东西.所以输出看起来像:
array([-1,2,2,1,0])
Run Code Online (Sandbox Code Playgroud)
我需要剪切一个ndarray的片段,并且更容易减少一个维度而不是一个元组并尝试重新生成缺失的行.