0

我正在构建一个用于管理序列号和产品信息的应用程序。

现在,在产品的某个步骤中,用户将打印标签以粘贴在成品的盒子上。这些标签包括产品上的数据,例如类型、规格、序列号、条形码等。

标签打印在 1/3 A4 贴纸(每张 A4 3 个)纸上。

我从一个填充了产品数据的模板 docx 文件(页面大小:99 毫米高,210 毫米宽)开始。

生成后,我得到了一堆 docx 文件。将它们合并到一个 docx 文件中没有问题,但我最终会得到一堆大小为 1/3 A4 的页面。

我想要结束的是一个 docx 文件,每页有 3 个 1/3 A4。

是什么阻止我从一个 A4 大小的模板开始,上面已经有 3 个标签并填补了这一事实,即一个系列通常适用于不同的客户,因此需要不同的模板。

有谁知道如何实现上述目标?替代解决方案也非常受欢迎,如果它可以使用 docx 以外的其他东西完成,并且使用易于编辑的模板。

谢谢阅读。

4

1 回答 1

0

最后,我太快了,无法排除 Daniel Hilgarth 的做法。通过杂耍,在每个标签之间添加一些空白段落,我能够正确定位它们以便在 3x 1/3 A4 标签纸上打印。

我使用 Novacode 的 DocX 库来做到这一点。

做了一些事情:

        Private Sub MergeBoxDocuments(ByVal Docs As List(Of String))
        Dim FullDoc As Novacode.DocX = Novacode.DocX.Create(LocalDirs.QUE & "Test.docx")
        FullDoc.MarginBottom = 25
        FullDoc.MarginTop = 25
        FullDoc.MarginLeft = 30
        FullDoc.MarginRight = 30

        Dim Counter As Integer = 0
        For Each D As String In Docs
            Dim Doc As Novacode.DocX = Novacode.DocX.Load(D)
            For Each T As Novacode.Table In Doc.Tables
                T.Design = Novacode.TableDesign.TableGrid
                FullDoc.InsertTable(T)
                Counter += 1

                If Not Counter = 3 Then
                    FullDoc.InsertParagraph(" ")
                    FullDoc.InsertParagraph(" ")
                    FullDoc.InsertParagraph(" ")
                Else : Counter = 0 : End If
            Next
        Next
        FullDoc.Save()
    End Sub

谢谢丹尼尔。

于 2013-04-24T08:54:39.560 回答