Een document omzetten naar PDF
De mogelijkheid om gemakkelijk en betrouwbaar documenten te converteren van het ene formaat naar het andere is een belangrijke eigenschap van Aspose.Words. Een van de meest populaire formaten voor het omzetten is PDF De term “rendering” wordt gebruikt in Aspose.Words beschrijven van het proces van het omzetten van een document in een bestandsformaat dat wordt gepagineerd of heeft het concept van pagina’s.
Een Word-document omzetten naar PDF
Conversie van Word naar PDF is een vrij complex proces dat verschillende fasen van berekening vereist. Aspose.Words lay-out motor bootst de manier Microsoft WordDe pagina-indeling engine werkt, waardoor PDF-uitvoerdocumenten zo dicht mogelijk bij wat je kunt zien in Microsoft Word.
Met Aspose.Words u kunt programmatisch converteren van een document van Word-formaten, zoals DOC of DOCX, naar PDF zonder gebruik Microsoft Kantoor. In dit artikel wordt uitgelegd hoe deze conversie moet worden uitgevoerd.
DOCX of DOC omzetten naar PDF
Converteren van het DOC- of DOCX-documentformaat naar het PDF-formaat in Aspose.Words is zeer gemakkelijk en kan worden bereikt met slechts twee regels code die:
- Uw document laden in een Document object met behulp van een van de constructeurs door het specificeren van de documentnaam met het formaat extensie.
- Roep een van de Document.Save methoden op de Document object en specificeer het gewenste uitvoerformaat als PDF door een bestandsnaam in te voeren met de extensie PDF.
Het volgende voorbeeld van code laat zien hoe u een document van DOCX naar PDF met behulp van de Save methode:
// 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"); |
U kunt het sjabloonbestand van dit voorbeeld downloaden van Aspose.Words GitHub.
Soms is het noodzakelijk om extra opties te specificeren, die het resultaat kunnen beïnvloeden van het opslaan van een document als PDF. Deze opties kunnen worden gespecificeerd door het gebruik van de PdfSaveOptions klasse, met eigenschappen die bepalen hoe de PDF-uitvoer wordt weergegeven.
Merk op dat met dezelfde techniek, kunt u elke flow-layout formaat document converteren naar PDF-formaat.
Converteren naar verschillende PDF Normen
Aspose.Words levert de PdfCompilaceLijst ter ondersteuning van de omzetting van DOC of DOCX in verschillende PDF-formaatstandaarden (zoals PDF 1.7, PDF 1.5, enz.).
Het volgende voorbeeld van code laat zien hoe u een document kunt converteren naar PDF 1.7 met behulp van PdfSaveOptions met inachtneming van 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); |
Afbeeldingen omzetten naar PDF
Converteren naar PDF is niet beperkt door Microsoft Word documentformaten. Elk formaat ondersteund door Aspose.Words, inclusief programmatisch gemaakt, kan ook worden omgezet naar PDF. We kunnen bijvoorbeeld single-page afbeeldingen, zoals JPEG, PNG, BMP, EMF, of WMF, evenals multi-page afbeeldingen, zoals TIFF en GIF, converteren naar PDF.
Het volgende voorbeeld van code laat zien hoe je JPEG- en TIFF-afbeeldingen naar PDF kunt converteren:
// 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"); |
// 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); | |
} |
Om deze code te laten werken, moet u referenties toevoegen aan Aspose.Words en System.Drawing
op uw project.
PDF verkleinen Uitvoergrootte
Bij het opslaan naar PDF kunt u aangeven of u de uitvoer wilt optimaliseren. Om dit te doen, moet u de OptimizeOutput vlag naar true, en dan redundante geneste doeken en lege doeken worden verwijderd, buurman glyphs met dezelfde opmaak zal worden samengevoegd.
Het volgende voorbeeld van code laat zien hoe u de uitvoer kunt optimaliseren:
// 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); |
Zie ook
-
Het artikel Renderen voor meer informatie over de fixed-page en flow-layout formaten
-
Het artikel Omzetten naar Fixed-page Format voor meer informatie over de pagina-indeling
-
Het artikel Renderopties opgeven bij omzetten naar PDF voor meer informatie over het gebruik van de
PdfSaveOptions
klasse -
Het artikel Kenmerken van conversie naar PDF/A en PDF/UA leren Beschrijving van welke PDF-standaard en de relevante ISO voor ondersteuning van PDF-normen Aspose.Words
-
Het artikel Welke PDF-standaard is beter om te kiezen om te bepalen welke PDF-normen zinvol zijn in welke gevallen
-
Het artikel Werken met PDF/A of PDF/UA beschrijft de vereisten voor de inhoud van het document in PDF/A en PDF/UA-formaten voornamelijk de vereisten voor de structuur en lettertypen
-
Het artikel Waarschuwingen over toegankelijkheid bij opslaan naar PDF/A en PDF/UA beschrijft welke toegankelijkheidseisen PDF/A en PDF/UA opleggen