Převést dokument do PDF

Schopnost snadno a spolehlivě převést dokumenty z jednoho formátu do druhého je klíčovým rysem Aspose.Words. Jedním z nejpopulárnějších formátů pro konverzi je formát PDF a formát fixed-layout, který zachovává původní vzhled dokumentu během jeho renderování na různých platformách. Výraz “rendering” se používá v Aspose.Words popis procesu přeměny dokumentu na formát souboru, který je paginován nebo má koncept stránek.

Převést slovní dokument do PDF

Převod z Word do PDF je poměrně složitý proces, který vyžaduje několik fází výpočtu. Aspose.Words rozložení motoru napodobuje způsob Microsoft WordPDF výstupní dokumenty vypadají co nejblíž k tomu, co můžete vidět v Microsoft Word.

S Aspose.Words můžete programově převést dokument z Word formátů, jako je DOC nebo DOCX, do PDF bez použití Microsoft Kancelář. Tento článek vysvětluje, jak provést tuto konverzi.

Převést DOCX nebo DOC do PDF

Převod z formátu dokumentu DOC nebo DOCX do formátu PDF ve Aspose.Words je velmi snadné a může být dosaženo pouze se dvěma řádky kódu, že:

  1. Načíst svůj dokument do Document objekt pomocí jednoho z jeho konstruktérů zadáním názvu dokumentu s jeho formátem rozšíření.
  2. Invoke jeden z Document.Save metody Document objekt a zadejte požadovaný výstupní formát jako PDF zadáním názvu souboru s příponou

Následující příklad kódu ukazuje, jak převést dokument z DOCX do PDF pomocí Save metoda:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Document.docx");
doc.Save(ArtifactsDir + "BaseConversions.DocxToPdf.pdf");
view raw docx-to-pdf.cs hosted with ❤ by GitHub

Můžete si stáhnout soubor šablony tohoto příkladu z Aspose.Words GitHub.

Převést do různých PDF Normy

Aspose.Words poskytuje PdfKompliacepočet podporující konverzi DOC nebo DOCX na různé standardy formátu PDF (např. PDF 1.7, PDF 1.5 atd.).

Následující příklad kódu ukazuje, jak převést dokument na PDF 1.7 pomocí PdfSaveOptions podle PDF17:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions { Compliance = PdfCompliance.Pdf17 };
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.ConversionToPdf17.pdf", saveOptions);

Převést obrázky do PDF

Převod do PDF není omezen Microsoft Word formáty dokumentů. Jakýkoli formát podporovaný Aspose.Words, včetně programově vytvořeného, lze také převést na PDF. Například, můžeme převést jednostránkové obrázky, jako jsou JPEG, PNG, BMP, EMF, nebo WMF, stejně jako vícestránkové obrázky, jako jsou TIFF a GIF, do PDF.

Následující příklad kódu ukazuje, jak převést JPEG a TIFF obrázky do PDF:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
ConvertImageToPdf(ImagesDir + "Logo.jpg", ArtifactsDir + "BaseConversions.JpgToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Transparent background logo.png", ArtifactsDir + "BaseConversions.PngToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Windows MetaFile.wmf", ArtifactsDir + "BaseConversions.WmfToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Tagged Image File Format.tiff", ArtifactsDir + "BaseConversions.TiffToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Graphics Interchange Format.gif", ArtifactsDir + "BaseConversions.GifToPdf.pdf");
view raw image-to-pdf.cs hosted with ❤ by GitHub
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
/// <summary>
/// Converts an image to PDF using Aspose.Words for .NET.
/// </summary>
/// <param name="inputFileName">File name of input image file.</param>
/// <param name="outputFileName">Output PDF file name.</param>
public void ConvertImageToPdf(string inputFileName, string outputFileName)
{
Console.WriteLine("Converting " + inputFileName + " to PDF ....");
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Read the image from file, ensure it is disposed.
using (Image image = Image.FromFile(inputFileName))
{
// Find which dimension the frames in this image represent. For example
// the frames of a BMP or TIFF are "page dimension" whereas frames of a GIF image are "time dimension".
FrameDimension dimension = new FrameDimension(image.FrameDimensionsList[0]);
int framesCount = image.GetFrameCount(dimension);
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++)
{
// Insert a section break before each new page, in case of a multi-frame TIFF.
if (frameIdx != 0)
builder.InsertBreak(BreakType.SectionBreakNewPage);
image.SelectActiveFrame(dimension, frameIdx);
// We want the size of the page to be the same as the size of the image.
// Convert pixels to points to size the page to the actual image size.
PageSetup ps = builder.PageSetup;
ps.PageWidth = ConvertUtil.PixelToPoint(image.Width, image.HorizontalResolution);
ps.PageHeight = ConvertUtil.PixelToPoint(image.Height, image.VerticalResolution);
// Insert the image into the document and position it at the top left corner of the page.
builder.InsertImage(
image,
RelativeHorizontalPosition.Page,
0,
RelativeVerticalPosition.Page,
0,
ps.PageWidth,
ps.PageHeight,
WrapType.None);
}
}
doc.Save(outputFileName);
}

Aby tento kód fungoval, musíte přidat odkazy na Aspose.Words a System.Drawing na tvůj projekt.

Snížit PDF Velikost výstupu

Při ukládání do PDF můžete určit, zda chcete optimalizovat výstup. K tomu je třeba nastavit OptimizeOutput vlajka true, a pak budou odstraněna přebytečná hnízditá plátna a prázdné plátna, sousede. glyphse stejným formátováním bude konkatenován.

Následující příklad kódu ukazuje, jak optimalizovat výstup:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions { OptimizeOutput = true };
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.OptimizeOutput.pdf", saveOptions);

Viz také