VintaSoft Imaging .NET SDK 15.1: Документация для .NET разработчика
В этом разделе
Кодеки: Как настроить параметры макета DOCX-документа?
В этом разделе
SDK позволяет указать параметры макета (размер страницы, отступы страницы, масштаб содержимого) DOCX-документа. Настройки макета страницы можно указать для всех страниц, четных и/или нечетных страниц, страниц указанных индексами.

Вот C#/VB.NET код, который демонстрирует, как установить параметры макета DOCX-документа:
/// <summary>
/// Class shows how to convert DOCX document to PDF document using specified layout settings.
/// </summary>
public class DocxConverter
{

    /// <summary>
    /// Converts DOCX document to PDF document using specified layout settings.
    /// </summary>
    public static void ConvertDocxToPdf(string docxFileName, string pdfFileName)
    {
        // create image collection
        using (Vintasoft.Imaging.ImageCollection imageCollection = new Vintasoft.Imaging.ImageCollection())
        {
            // subscribe to the ImageCollection.LayoutSettingsRequest event
            imageCollection.LayoutSettingsRequest += ImageCollection_LayoutSettingsRequest;

            // add XLSX document to the image collection
            imageCollection.Add(docxFileName);

            // create PDF encoder that will create new PDF file
            using (Vintasoft.Imaging.Codecs.Encoders.PdfEncoder pdfEncoder =
                new Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(true))
            {
                // save images of image collection to PDF document using PDF encoder
                imageCollection.SaveSync(pdfFileName, pdfEncoder);
            }

            // dispose images
            imageCollection.ClearAndDisposeItems();
        }
    }

    /// <summary>
    /// Handles the LayoutSettingsRequest event of the ImageCollection object.
    /// </summary>
    private static void ImageCollection_LayoutSettingsRequest(object sender, Vintasoft.Imaging.DocumentLayoutSettingsRequestEventArgs e)
    {
        // if DOCX codec is used
        if (e.Codec.Name == "Docx")
        {
            // change layout settings of DOCX document

            Vintasoft.Imaging.Codecs.Decoders.DocumentLayoutSettings layoutSettings = e.LayoutSettings;

            // page size - A4
            Vintasoft.Imaging.ImageSize pageSize = Vintasoft.Imaging.ImageSize.FromPaperKind(Vintasoft.Imaging.PaperSizeKind.A4);

            // book stitch size - 20mm
            float stitchSize = (float)Vintasoft.Imaging.Utils.UnitOfMeasureConverter.ConvertToDeviceIndependentPixels(20, Vintasoft.Imaging.UnitOfMeasure.Millimeters);

            // set even page size to A4, padding from right - 20mm
            layoutSettings.EvenPageLayoutSettings = new Vintasoft.Imaging.Codecs.Decoders.PageLayoutSettings(pageSize);
            layoutSettings.EvenPageLayoutSettings.PagePadding = new Vintasoft.Imaging.PaddingF(0, 0, stitchSize, 0);

            // set odd page size to A4, padding from left - 20mm
            layoutSettings.OddPageLayoutSettings = new Vintasoft.Imaging.Codecs.Decoders.PageLayoutSettings(pageSize);
            layoutSettings.OddPageLayoutSettings.PagePadding = new Vintasoft.Imaging.PaddingF(stitchSize, 0, 0, 0);
        }
    }
}
''' <summary>
''' Class shows how to convert DOCX document to PDF document using specified layout settings.
''' </summary>
Public Class DocxConverter

    ''' <summary>
    ''' Converts DOCX document to PDF document using specified layout settings.
    ''' </summary>
    Public Shared Sub ConvertDocxToPdf(docxFileName As String, pdfFileName As String)
        ' create image collection
        Using imageCollection As New Vintasoft.Imaging.ImageCollection()
            ' subscribe to the ImageCollection.LayoutSettingsRequest event
            AddHandler imageCollection.LayoutSettingsRequest, AddressOf ImageCollection_LayoutSettingsRequest

            ' add XLSX document to the image collection
            imageCollection.Add(docxFileName)

            ' create PDF encoder that will create new PDF file
            Using pdfEncoder As New Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(True)
                ' save images of image collection to PDF document using PDF encoder
                imageCollection.SaveSync(pdfFileName, pdfEncoder)
            End Using

            ' dispose images
            imageCollection.ClearAndDisposeItems()
        End Using
    End Sub

    ''' <summary>
    ''' Handles the LayoutSettingsRequest event of the ImageCollection object.
    ''' </summary>
    Private Shared Sub ImageCollection_LayoutSettingsRequest(sender As Object, e As Vintasoft.Imaging.DocumentLayoutSettingsRequestEventArgs)
        ' if DOCX codec is used
        If e.Codec.Name = "Docx" Then
            ' change layout settings of DOCX document

            Dim layoutSettings As Vintasoft.Imaging.Codecs.Decoders.DocumentLayoutSettings = e.LayoutSettings

            ' page size - A4
            Dim pageSize As Vintasoft.Imaging.ImageSize = Vintasoft.Imaging.ImageSize.FromPaperKind(Vintasoft.Imaging.PaperSizeKind.A4)

            ' book stitch size - 20mm
            Dim stitchSize As Single = CSng(Vintasoft.Imaging.Utils.UnitOfMeasureConverter.ConvertToDeviceIndependentPixels(20, Vintasoft.Imaging.UnitOfMeasure.Millimeters))

            ' set even page size to A4, padding from right - 20mm
            layoutSettings.EvenPageLayoutSettings = New Vintasoft.Imaging.Codecs.Decoders.PageLayoutSettings(pageSize)
            layoutSettings.EvenPageLayoutSettings.PagePadding = New Vintasoft.Imaging.PaddingF(0, 0, stitchSize, 0)

            ' set odd page size to A4, padding from left - 20mm
            layoutSettings.OddPageLayoutSettings = New Vintasoft.Imaging.Codecs.Decoders.PageLayoutSettings(pageSize)
            layoutSettings.OddPageLayoutSettings.PagePadding = New Vintasoft.Imaging.PaddingF(stitchSize, 0, 0, 0)
        End If
    End Sub
End Class