Werk Met Watermerk
Hierdie onderwerp bespreek hoe om programmaties te werk met watermerk met behulp van Aspose.Words. ‘n watermerk is’n agtergrondbeeld wat agter die teks in’n dokument vertoon word. ‘n watermerk kan’n teks of’n beeld bevat wat deur die Watermark klas verteenwoordig word.
Probeer online
Jy kan hierdie funksie probeer met ons Gratis aanlyn dokument watermerk.
Hoe Om’n Watermerk By’n Dokument Te Voeg
In Microsoft Word kan’n watermerk maklik in’n dokument ingevoeg word met behulp van die Insert Watermark opdrag. Aspose.Words bied die Watermark klas om watermerk in dokumente by te voeg of te verwyder. Aspose.Words verskaf die WatermarkType opsomming wat drie moontlike tipes watermerke (TEXT, IMAGE, en NONE) definieer om mee te werk.
Voeg By Teks Watermerk
Die volgende kode voorbeeld demonstreer hoe om’n teks watermerk in’n dokument deur die definisie van TextWatermarkOptions met behulp van die set_text metode.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
options = aw.TextWatermarkOptions() | |
options.font_family = "Arial" | |
options.font_size = 36 | |
options.color = drawing.Color.black | |
options.layout = aw.WatermarkLayout.HORIZONTAL | |
options.is_semitrasparent = False | |
doc.watermark.set_text("Test", options) | |
doc.save(docs_base.artifacts_dir + "WorkWithWatermark.add_text_watermark_with_specific_options.docx") |
Voeg By Beeld Watermerk
Die volgende kode voorbeeld demonstreer hoe om’n beeld watermerk in’n dokument deur die definisie van ImageWatermarkOptions met behulp van die set_image metode:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
options = aw.ImageWatermarkOptions() | |
options.scale = 5 | |
options.is_washout = False | |
doc.watermark.set_image(docs_base.images_dir + "Transparent background logo.png", options) | |
doc.save(docs_base.artifacts_dir + "WorkWithWatermark.add_image_watermark.docx") |
Die watermerk kan ook ingevoeg word met behulp van vorm klas sowel. Dit is baie maklik om enige vorm of beeld in’n kop of voetskrif in te voeg en sodoende’n watermerk van enige denkbare tipe te skep.
Die volgende kode voorbeeld voeg’n watermerk in’n Word dokument:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
def test_add_and_remove_watermark(self) : | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
self.insert_watermark_text(doc, "CONFIDENTIAL") | |
doc.save(docs_base.artifacts_dir + "TestFile.watermark.docx") | |
self.remove_watermark_text(doc) | |
doc.save(docs_base.artifacts_dir + "WorkWithWatermark.remove_watermark.docx") | |
# <summary> | |
# Inserts a watermark into a document. | |
# </summary> | |
# <param name="doc">The input document.</param> | |
# <param name="watermarkText">Text of the watermark.</param> | |
def insert_watermark_text(self, doc : aw.Document, watermarkText : str) : | |
# Create a watermark shape, this will be a WordArt shape. | |
watermark = aw.drawing.Shape(doc, aw.drawing.ShapeType.TEXT_PLAIN_TEXT) | |
watermark.name = "Watermark" | |
watermark.text_path.text = watermarkText | |
watermark.text_path.font_family = "Arial" | |
watermark.width = 500 | |
watermark.height = 100 | |
# Text will be directed from the bottom-left to the top-right corner. | |
watermark.rotation = -40 | |
# Remove the following two lines if you need a solid black text. | |
watermark.fill_color = drawing.Color.gray | |
watermark.stroke_color = drawing.Color.gray | |
# Place the watermark in the page center. | |
watermark.relative_horizontal_position = aw.drawing.RelativeHorizontalPosition.PAGE | |
watermark.relative_vertical_position = aw.drawing.RelativeVerticalPosition.PAGE | |
watermark.wrap_type = aw.drawing.WrapType.NONE | |
watermark.vertical_alignment = aw.drawing.VerticalAlignment.CENTER | |
watermark.horizontal_alignment = aw.drawing.HorizontalAlignment.CENTER | |
# Create a new paragraph and append the watermark to this paragraph. | |
watermarkPara = aw.Paragraph(doc) | |
watermarkPara.append_child(watermark) | |
# Insert the watermark into all headers of each document section. | |
for sect in doc.sections : | |
sect = sect.as_section() | |
# There could be up to three different headers in each section. | |
# Since we want the watermark to appear on all pages, insert it into all headers. | |
self.insert_watermark_into_header(watermarkPara, sect, aw.HeaderFooterType.HEADER_PRIMARY) | |
self.insert_watermark_into_header(watermarkPara, sect, aw.HeaderFooterType.HEADER_FIRST) | |
self.insert_watermark_into_header(watermarkPara, sect, aw.HeaderFooterType.HEADER_EVEN) | |
def insert_watermark_into_header(self, watermarkPara : aw.Paragraph, sect : aw.Section, headerType : aw.HeaderFooterType) : | |
header = sect.headers_footers.get_by_header_footer_type(headerType) | |
if (header == None) : | |
# There is no header of the specified type in the current section, so we need to create it. | |
header = aw.HeaderFooter(sect.document, headerType) | |
sect.headers_footers.add(header) | |
# Insert a clone of the watermark into the header. | |
header.append_child(watermarkPara.clone(True)) | |
Verwyder Watermerk uit’n Dokument
Die Watermark klas bied die verwyder metode om die watermerk van’n dokument te verwyder.
Die volgende kode voorbeeld toon hoe om’n watermerk van dokumente te verwyder:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
# Add a plain text watermark. | |
doc.watermark.set_text("Aspose Watermark") | |
# If we wish to edit the text formatting using it as a watermark, | |
# we can do so by passing a TextWatermarkOptions object when creating the watermark. | |
textWatermarkOptions = aw.TextWatermarkOptions() | |
textWatermarkOptions.font_family = "Arial" | |
textWatermarkOptions.font_size = 36 | |
textWatermarkOptions.color = drawing.Color.black | |
textWatermarkOptions.layout = aw.WatermarkLayout.DIAGONAL | |
textWatermarkOptions.is_semitrasparent = False | |
doc.watermark.set_text("Aspose Watermark", textWatermarkOptions) | |
doc.save(docs_base.artifacts_dir + "Document.text_watermark.docx") | |
# We can remove a watermark from a document like this. | |
if (doc.watermark.type == aw.WatermarkType.TEXT) : | |
doc.watermark.remove() | |
doc.save(docs_base.artifacts_dir + "WorkWithWatermark.remove_watermark_from_document.docx") |
As die watermerke bygevoeg word met behulp van die Shape klas voorwerp dan om die watermerk van’n dokument te verwyder moet jy net die naam van watermerk vorm stel tydens die invoeging en dan verwyder watermerk vorm deur’n toegewys naam.
Die volgende kode voorbeeld wys jou hoe om die naam van die watermerk vorm stel en verwyder dit uit die dokument:
# Set name to be able to remove it afterwards
watermark.name = "WaterMark"
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
def remove_watermark_text(self, doc : aw.Document) : | |
for hf in doc.get_child_nodes(aw.NodeType.HEADER_FOOTER, True) : | |
hf = hf.as_header_footer() | |
for shape in hf.get_child_nodes(aw.NodeType.SHAPE, True) : | |
shape = shape.as_shape() | |
if shape.name.find("WaterMark") >= 0 : | |
shape.remove() | |
Voeg’n Watermerk in Tabel Sel
Soms moet jy’n watermerk/beeld in’n tabel se sel plaas en dit buite die tabel vertoon, jy kan die is_layout_in_cell eienskap gebruik. Hierdie eienskap kry of stel’n vlag wat aandui of die vorm binne’n tafel of buite dit vertoon word. Let daarop dat hierdie eienskap slegs werk wanneer jy die dokument vir Microsoft Word 2010 optimaliseer deur die optimize_for metode te gebruik.
Die volgende kode voorbeeld toon hoe om hierdie eiendom te gebruik:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.start_table() | |
builder.row_format.height = 100 | |
builder.row_format.height_rule = aw.HeightRule.EXACTLY | |
for i in range(0, 31) : | |
if (i != 0 and i % 7 == 0) : | |
builder.end_row() | |
builder.insert_cell() | |
builder.write("Cell contents") | |
builder.end_table() | |
watermark = aw.drawing.Shape(doc, aw.drawing.ShapeType.TEXT_PLAIN_TEXT) | |
watermark.relative_horizontal_position = aw.drawing.RelativeHorizontalPosition.PAGE | |
watermark.relative_vertical_position = aw.drawing.RelativeVerticalPosition.PAGE | |
watermark.is_layout_in_cell = True # Display the shape outside of the table cell if it will be placed into a cell. | |
watermark.width = 300 | |
watermark.height = 70 | |
watermark.horizontal_alignment = aw.drawing.HorizontalAlignment.CENTER | |
watermark.vertical_alignment = aw.drawing.VerticalAlignment.CENTER | |
watermark.rotation = -40 | |
watermark.fill_color = drawing.Color.gray | |
watermark.stroke_color = drawing.Color.gray | |
watermark.text_path.text = "watermarkText" | |
watermark.text_path.font_family = "Arial" | |
watermark.name = "WaterMark_" + str(uuid.uuid4()) | |
watermark.wrap_type = aw.drawing.WrapType.NONE | |
run = doc.get_child_nodes(aw.NodeType.RUN, True)[doc.get_child_nodes(aw.NodeType.RUN, True).count - 1].as_run() | |
builder.move_to(run) | |
builder.insert_node(watermark) | |
doc.compatibility_options.optimize_for(aw.settings.MsWordVersion.WORD2010) | |
doc.save(docs_base.artifacts_dir + "WorkingWithShapes.layout_in_cell.docx") |