Online canvas processing method, device, equipment, storage medium and program product

By recognizing the area and elements to be exported through text or voice commands and generating a file in a specified format, this method solves the problem of the limited range of existing online canvas export methods, achieving intelligent and automated export, improving efficiency and accuracy, and enhancing the user experience.

CN122115612APending Publication Date: 2026-05-29TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411720019.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2026-05-29

Smart Images

  • Figure CN122115612A_ABST
    Figure CN122115612A_ABST
Patent Text Reader

Abstract

The application provides a processing method, device and equipment of an online canvas, a storage medium and a program product; the method comprises the following steps: displaying the online canvas, wherein the online canvas comprises at least one partition, and each partition is used for accommodating an element; in response to a canvas export instruction of a text type or a voice type, identifying at least one to-be-exported area and a to-be-exported element in each to-be-exported area indicated by the canvas export instruction, identifying the to-be-exported element in the to-be-exported area from the online canvas, generating a file in a set format based on the to-be-exported element, and displaying the file. According to the application, the elements in a specific area can be exported and a file in a set format can be generated according to the canvas export instruction of the text type or the voice type.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, storage medium, and program product for processing online canvases. Background Technology

[0002] In online canvas processing methods in related technologies, the entire canvas or part of the canvas is exported by manually selecting the canvas export area or export element. The canvas export method is relatively simple and cannot support diverse canvas export operation scenarios, which affects the canvas export efficiency and accuracy. Summary of the Invention

[0003] This application provides an online canvas processing method, apparatus, device, storage medium, and program product, which can export elements of a specific area and generate a file in a set format according to a canvas export command of text or voice type.

[0004] The technical solution of this application embodiment is implemented as follows:

[0005] This application provides a method for processing an online canvas, the method comprising:

[0006] Displaying an online canvas, wherein the online canvas includes at least one partition, wherein each partition is used to contain elements;

[0007] In response to a text- or voice-type canvas export command, at least one region to be exported as indicated by the canvas export command and the elements to be exported within each region to be exported are identified.

[0008] Identify the element to be exported from the area to be exported within the online canvas.

[0009] Generate a file in the specified format based on the elements to be exported, and display the file.

[0010] In the above solution, the online display canvas includes:

[0011] In response to the scaling ratio of the online canvas being greater than a first scaling ratio threshold and less than or equal to a second scaling ratio threshold, the rendering mode of the element within the online canvas is set to a first mode, wherein the first scaling ratio threshold is less than the second scaling ratio threshold, and the first mode is a rendering mode based on the original data of the element.

[0012] In response to the scaling ratio of the online canvas being less than a third scaling ratio threshold, the rendering mode of the elements within the online canvas is set to a second mode, wherein the third scaling ratio threshold is less than the first scaling ratio threshold, and the second mode is a rendering mode based on the thumbnail of the element.

[0013] Render the online canvas based on the rendering mode.

[0014] In the above scheme, before displaying the file, the method further includes:

[0015] In response to a filtering instruction of voice type or text type, the elements to be exported that meet the filtering conditions indicated by the filtering instruction are identified from the elements to be exported in the area to be exported, wherein the filtering conditions include at least one of the following filtering factors: the object of the element being edited, the type of the element, the size of the element, and the position of the element;

[0016] The process of generating a file in a specified format based on the elements to be exported includes:

[0017] A file in a set format is generated based on the elements to be exported that meet the filtering criteria.

[0018] The above scheme also includes performing at least one of the following processes:

[0019] Based on the number of elements included in the partition, the partition is controlled to be adaptively scaled, wherein the idle ratio of the scaled partition is less than the idle ratio threshold.

[0020] The partition is adaptively scaled based on the number of objects being collaboratively edited, wherein the size of the scaled partition is positively correlated with the number of objects.

[0021] In the above scheme, the partition is set with public or private attributes. The public attribute indicates that the element in the partition is public to any object that collaboratively edits the partition, and the private attribute indicates that the element in the partition is only public to the object that edits to form the element.

[0022] The step of identifying the element to be exported in the region to be exported from the online canvas includes:

[0023] Elements with visible attributes in the area to be exported are identified from the online canvas, as well as the elements to be exported formed by editing a publishing object, wherein the publishing object is the object that issues the canvas export command.

[0024] In the above scheme, when the partition is in collaborative editing mode, the methods for synchronizing the partition among multiple objects collaboratively editing the partition include real-time synchronization, triggered synchronization, and periodic synchronization.

[0025] The step of identifying the element to be exported in the region to be exported from the online canvas includes:

[0026] When the partition to be exported is in the real-time synchronization mode, identify from the online canvas the elements to be exported that have been edited by the multiple objects in the area to be exported up to the current time;

[0027] When the synchronization mode of the partition to be exported is in the triggered synchronization mode, the exportable elements that have been edited by the multiple objects in the area to be exported up to the trigger time are identified from the online canvas, wherein the trigger time is the time when the editing operation of the multiple objects in the partition is triggered to synchronize.

[0028] When the partition to be exported is in the periodic synchronization mode, the elements to be exported that have been edited by the multiple objects in the area to be exported up to the current period are identified from the online canvas.

[0029] This application provides an online canvas processing device, comprising:

[0030] A display module is used to display an online canvas, wherein the online canvas includes at least one partition, and each partition is used to accommodate elements;

[0031] The export module is used to respond to a canvas export command of text or voice type, identify at least one area to be exported indicated by the canvas export command and the elements to be exported in each area to be exported, identify the elements to be exported in the areas to be exported from the online canvas, generate a file in a set format based on the elements to be exported, and display the file.

[0032] This application provides an electronic device, the electronic device comprising:

[0033] Memory is used to store executable instructions or computer programs.

[0034] The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the online canvas processing method provided in the embodiments of this application.

[0035] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the online canvas processing method provided in this application when executed by a processor.

[0036] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the online canvas processing method provided in this application.

[0037] The embodiments of this application have the following beneficial effects:

[0038] By recognizing the export area and elements specified in the canvas export command based on text or voice input, the system exports the elements within the specified area and generates a file in a predefined format. This achieves automated canvas export based on export commands, offering a higher level of intelligence and improved processing efficiency compared to manual selection and operation. Furthermore, by supporting both text and voice input methods, it increases user flexibility and adapts to different usage scenarios. Users can quickly complete complex canvas export tasks using simple text or voice commands, reducing the possibility of errors when manually selecting export elements and enhancing the user experience. Attached Figure Description

[0039] Figure 1 This is a schematic diagram of the architecture of the online canvas processing system provided in the embodiments of this application;

[0040] Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;

[0041] Figure 3A This is a first flowchart illustrating the online canvas processing method provided in this application embodiment;

[0042] Figure 3B This is a second flowchart illustrating the online canvas processing method provided in this application embodiment;

[0043] Figure 3C This is a schematic diagram of the third process of the online canvas processing method provided in the embodiments of this application;

[0044] Figure 3D This is a schematic diagram of the fourth process of the online canvas processing method provided in the embodiments of this application;

[0045] Figure 3E This is a schematic diagram of the fifth process of the online canvas processing method provided in the embodiments of this application;

[0046] Figure 4AThis is a schematic diagram of the first application process of the online canvas processing method provided in the embodiments of this application;

[0047] Figure 4B This is a schematic diagram of the second application process of the online canvas processing method provided in the embodiments of this application;

[0048] Figure 5A This is a schematic diagram of the first interface of the online canvas processing method provided in the embodiments of this application;

[0049] Figure 5B This is a schematic diagram of the second interface of the online canvas processing method provided in the embodiments of this application;

[0050] Figure 5C This is a schematic diagram of the third interface of the online canvas processing method provided in the embodiments of this application;

[0051] Figure 5D This is a schematic diagram of the fourth interface of the online canvas processing method provided in the embodiments of this application;

[0052] Figure 5E This is a schematic diagram of the fifth interface of the online canvas processing method provided in the embodiments of this application;

[0053] Figure 5F This is a schematic diagram of the sixth interface of the online canvas processing method provided in the embodiments of this application;

[0054] Figure 5G This is a schematic diagram of the seventh interface of the online canvas processing method provided in the embodiments of this application;

[0055] Figure 5H This is a schematic diagram of the eighth interface of the online canvas processing method provided in the embodiments of this application;

[0056] Figure 5I This is a schematic diagram of the ninth interface of the online canvas processing method provided in the embodiments of this application.

[0057] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation

[0058] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0059] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0060] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0061] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0062] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.

[0063] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0064] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0065] 1) In response to, used to indicate the conditions or states on which the operation performed depends. When the conditions or states on which it depends are met, one or more operations performed may be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.

[0066] 2) Human-computer interaction interface, which is used to provide human-computer interaction functions / display online canvas information.

[0067] For example, graphical user interfaces (GUIs) include augmented reality (AR) interfaces, virtual reality (VR) interfaces, voice user interfaces (VUIs), interactive projection interfaces (using projection technology to display information on a flat surface), eye-tracking interfaces (interfaces controlled by detecting the user's gaze), holographic interfaces (three-dimensional holograms formed by projecting images using holographic projection technology, allowing users to see stereoscopic images without wearing special glasses), multimodal interfaces (interfaces that combine multiple interaction methods, such as tactile, visual, and auditory interaction), and brain-machine interfaces (BMIs).

[0068] 3) An online canvas (or online whiteboard, online collaborative canvas) is a network-based canvas that supports multi-user collaboration and has unlimited spatial expansion. The canvas serves as the content editing area, thus having no boundaries in the four directions (up, down, left, and right). Online canvases allow users located in different locations to view and collaboratively edit content via network connection.

[0069] For example, the main functions of an online canvas include, but are not limited to:

[0070] Real-time collaboration: Multiple users can edit the same canvas simultaneously and see the results of each other's operations.

[0071] Content creation: Users can create text, draw graphics, insert images and videos, and other elements on the canvas.

[0072] Editing and formatting: Offers a wealth of editing tools, such as text formatting, graphic editing, and color filling.

[0073] Drag and drop operation: Users can drag and drop elements onto the canvas and adjust their position and size.

[0074] Undo and Redo: Supports undo and redo operations, making it easier for users to correct mistakes.

[0075] Save and share: Users can save the canvas as an image, document, or other format and share it on social media or with others via a link.

[0076] Annotations and annotations: Supports adding annotations and annotations, making it convenient for users to record ideas and feedback.

[0077] Templates: Provides preset templates to help users quickly create common content layouts.

[0078] Access control: Different permissions can be set to control users' access to and editing rights on the canvas.

[0079] Application scenarios for online canvases can include:

[0080] Education and Training: Online canvases can be used for online teaching, remote training, presentations, and interactive discussions.

[0081] Meetings and Discussions: During meetings, participants can use an online canvas to record key points, brainstorm, and make decisions.

[0082] Design and prototyping: Designers can use online canvases to create product prototypes and user interface designs.

[0083] Artistic Creation: Artists and designers can use online canvases as a creative tool for digital painting and design.

[0084] Project Management: Project managers can use the online canvas to plan projects, track progress, and coordinate team work.

[0085] Personal Notes and Planning: Individual users can use an online canvas to record ideas, plan schedules, and manage work tasks.

[0086] 4) Elements refer to various objects in the canvas. These objects can be newly created by the user or imported from the resource library, including but not limited to the following element types:

[0087] Text box: Allows users to enter and edit text.

[0088] Graphics: including basic shapes such as straight lines, rectangles, circles, and ellipses.

[0089] Images: Images that users can upload, which can be images from their local image library or images from the internet.

[0090] Video: An embedded video file, which can be an online video or a local video.

[0091] Audio: Embedded audio files, which can be online audio or local audio.

[0092] Handwritten notes: Notes that users write by hand on a canvas using a touchscreen or mouse.

[0093] Sticky notes: Small text boxes, typically used to jot down temporary thoughts or reminders.

[0094] Link: An embedded webpage link that, when clicked, will redirect to the corresponding webpage.

[0095] Charts, such as bar charts, line charts, and pie charts, are used for data analysis and presentation.

[0096] Symbols and icons: Graphic symbols used to represent specific concepts or categories.

[0097] Element templates: Preset combinations of elements used to quickly create common layouts or flowcharts.

[0098] Here are some common element attributes:

[0099] Appearance attributes:

[0100] Color: The foreground and background colors of the element.

[0101] Font: The font style, size, and weight of text elements.

[0102] Border: The style, width, and color of an element's border.

[0103] Fill: The style and color of the element's internal fill.

[0104] Shadows: Light and shadow effects around or inside an element.

[0105] Transparency: The transparency level of the element.

[0106] Size and position attributes:

[0107] Width: The width of the element.

[0108] Height: The height of the element.

[0109] Position: The location of an element within the interface (usually represented by X and Y coordinates).

[0110] Margin: The space between the edge of an element and its content.

[0111] Padding: The space between the content inside an element and its boundaries.

[0112] Alignment: The alignment of an element's content or the element itself relative to other elements.

[0113] Behavioral attributes:

[0114] Clickability: Whether an element can receive click events.

[0115] Accessibility: The accessibility of an element to assistive technologies, such as screen readers.

[0116] Interaction state: The appearance and behavior of an element in different interaction states, such as hover, activation, and disabling.

[0117] Animation: The animation effects of an element in different states or operations.

[0118] Content attributes:

[0119] Text content: The text displayed by the text element.

[0120] Image source: The image file path of the image element.

[0121] Data binding: The method of binding element content to a data source.

[0122] 5) A partition refers to an area on the canvas that is divided into sections. Editing different sections is independent of each other; that is, editing one section will not apply to other sections. Each section serves as a container for organizing and holding various elements. These partitions help users better manage the content on the canvas, making the layout clearer and more organized.

[0123] For example, the functions of partitioning can include:

[0124] Content organization: Partitioning can divide the canvas into multiple sections, each containing related elements, making it easier to manage and view.

[0125] Layout control: Partitions can control the layout and alignment of elements within them, improving the overall aesthetics of the canvas.

[0126] Access control: Different access permissions can be set for partitions to restrict users' access to and editing of specific areas.

[0127] Data isolation: Partitioning can separate different types of data, reducing the possibility of data interfering with each other.

[0128] Templating: Sections can be used as part of a template, allowing for quick creation and reuse of layouts.

[0129] 6) Portable Document Format (PDF) is a file format used to present documents, including text, images, and other multimedia elements, ensuring consistent display across different devices and operating systems.

[0130] 7) Large Language Models (LLMs) are large-scale language models designed to understand and generate human language. They are trained on massive amounts of text data and can perform a wide range of tasks, including text summarization, translation, sentiment analysis, and more. LLMs are characterized by their enormous scale, containing billions of parameters that help them learn complex patterns in language data. They are typically based on deep learning architectures. LLMs refer to deep learning models trained on massive amounts of text data, containing billions or even more parameters. They can be used to generate natural language text and understand its meaning. Through training, the models learn the statistical regularities and semantic relationships of language to build a vast language knowledge base, thereby simulating human language understanding and generation capabilities. LLMs have the following characteristics:

[0131] Learning ability: Through training with massive amounts of text data, large language models can learn rich language knowledge and expressions, including grammar, semantics and common expression habits.

[0132] Pattern recognition: Large language models can identify common text patterns and semantic relationships, such as co-occurrence relationships between words, logical structure of sentences, and semantic roles.

[0133] Contextual understanding: Large language models can capture contextual information in text, understand the influence of previous text on subsequent text, and generate corresponding responses based on the context.

[0134] Generative capabilities: Large language models can generate relevant natural language text based on input information, including answering questions, generating articles, and engaging in dialogue.

[0135] Resolving ambiguity: Despite the existence of polysemy and ambiguity in language, large language models resolve ambiguity through contextual information and linguistic rules, providing more accurate and appropriate text generation or understanding.

[0136] Large language models have a wide range of applications, including intelligent customer service, intelligent question answering, natural language generation, advertising recommendation, and games. They can improve the efficiency and accuracy of human-computer interaction and enhance the user experience.

[0137] In online canvas processing methods in related technologies, the entire canvas or part of the canvas is exported by manually selecting the canvas export area or export element. The canvas export method is relatively simple and cannot support diverse canvas export operation scenarios, which affects the canvas export efficiency and accuracy.

[0138] This application provides an online canvas processing method, apparatus, device, computer-readable storage medium, and computer program product, which can export elements of a specific area and generate a file in a set format according to a canvas export instruction of text type or voice type. The following describes an exemplary application of the electronic device provided in this application. The electronic device provided in this application can be implemented as various types of terminal devices such as laptops, tablets, desktop computers, set-top boxes, smartphones, smart speakers, smartwatches, smart TVs, and vehicle terminals, or it can be implemented as a server.

[0139] See Figure 1 , Figure 1 This is a schematic diagram of the architecture of the online canvas processing system provided in this application embodiment. Figure 1The system involves server 100, terminal device 200, and network 300. Terminal device 200 is connected to server 100 through network 300, which can be a wide area network (WAN), a local area network (LAN), or a combination of both.

[0140] In some embodiments, the present application can be implemented collaboratively by a server and a terminal device. For example, the terminal device 200 sends a text-type or voice-type canvas export instruction to the server 100. The server 100 identifies at least one area to be exported indicated by the canvas export instruction and the elements to be exported in each area, and sends information about the areas to be exported and the elements to be exported (such as partition numbers, element types, etc.) to the terminal device 200. The terminal device 200 receives the information about the areas to be exported and the elements to be exported, identifies the elements to be exported in the online canvas, generates a file in a set format based on the elements to be exported, and displays the file.

[0141] In other embodiments, the embodiments of this application can be implemented independently by a terminal device. The terminal device 200 displays an online canvas, and in response to a canvas export command of text type or voice type, identifies at least one area to be exported indicated by the canvas export command and the elements to be exported in each area, identifies the elements to be exported in the areas to be exported from the online canvas, generates a file in a set format based on the elements to be exported, and displays the file.

[0142] See Figure 2 , Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Figure 2 The electronic device 400 shown can be either the server 100 or the terminal device 200 mentioned above. Figure 2 The illustrated electronic device 400 includes at least one processor 410, a memory 430, and at least one network interface 420. The various components of the electronic device 400 are coupled together via a bus system 440. It is understood that the bus system 440 is used to implement communication between these components. In addition to a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 440.

[0143] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0144] The memory 430 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 430 may optionally include one or more storage devices physically located away from the processor 410.

[0145] The memory 430 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 430 described in this application embodiment is intended to include any suitable type of memory.

[0146] In some embodiments, memory 430 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0147] Operating system 431 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;

[0148] The network communication module 432 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.

[0149] In some embodiments, the apparatus provided in this application can be implemented in software. Figure 2 A processing device 433 for an online canvas stored in memory 430 is shown. This device can be software in the form of programs and plugins, and includes the following software modules: a display module 4331 and an export module 4332. These modules are logically linked and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.

[0150] In some embodiments, the terminal device or server can implement the online canvas processing method provided in this application embodiment by running various computer-executable instructions or computer programs. For example, computer-executable instructions can be microprogram-level commands, machine instructions, or software instructions. Computer programs can be native programs or software modules in an operating system; they can be native applications (APPs), i.e., programs that need to be installed in the operating system to run; or they can be applets that can be embedded in any APP, i.e., programs that only need to be downloaded to a browser environment to run. In summary, the aforementioned computer-executable instructions can be any form of instruction, and the aforementioned computer programs can be any form of application, module, or plugin.

[0151] The following will describe the online canvas processing method provided in this application embodiment, using the terminal device as the execution subject, with exemplary applications and implementations of the terminal device provided in the embodiments of this application. See also Figure 3A , Figure 3A This is a first flowchart illustrating the online canvas processing method provided in this application embodiment, which will be combined with... Figure 3A The steps shown are explained.

[0152] In step 101, an online canvas is displayed, wherein the online canvas includes at least one partition, wherein each partition is used to contain elements.

[0153] In some embodiments, displaying an online canvas can be achieved by: in response to the online canvas's scaling ratio being greater than a first scaling ratio threshold and less than or equal to a second scaling ratio threshold, setting the rendering mode of elements within the online canvas to a first mode, wherein the first scaling ratio threshold is less than the second scaling ratio threshold, and the first mode is a rendering mode based on the original data of the elements; in response to the online canvas's scaling ratio being less than a third scaling ratio threshold, setting the rendering mode of elements within the online canvas to a second mode, wherein the third scaling ratio threshold is less than the first scaling ratio threshold, and the second mode is a rendering mode based on the thumbnails of the elements; and rendering the online canvas based on the rendering mode.

[0154] For example, when the scaling ratio of the online canvas is greater than a first scaling ratio threshold (e.g., 125%, where 100% represents the original scaling ratio of the online canvas) and less than or equal to a second scaling ratio threshold (e.g., 300%), the rendering mode of the elements within the online canvas is set to the first mode (or high-definition mode), which is a mode for rendering based on the original data of the elements; when the scaling ratio of the online canvas is less than a third scaling ratio threshold (e.g., 50%), the rendering mode of the elements within the online canvas is set to the second mode (or thumbnail mode), which is a mode for rendering based on the thumbnails of the elements; the online canvas is rendered based on the rendering mode.

[0155] When the online canvas zoom level is greater than a first zoom level threshold and less than or equal to a second zoom level threshold, the first mode (high-definition mode) is applied, allowing users to view detailed information about the elements for thorough editing and inspection. When the online canvas zoom level is less than a third zoom level threshold, the second mode (thumbnail mode) is applied, allowing users to browse the overall canvas layout for initial visual inspection and overview.

[0156] For example, when the scaling ratio of the online canvas is greater than a first scaling ratio threshold (e.g., 125%, where 100% represents the original scaling ratio of the online canvas) and less than or equal to a second scaling ratio threshold (e.g., 300%), resulting in the number of elements in the online canvas being greater than a first quantity threshold (e.g., 1) and less than or equal to a second quantity threshold (e.g., 20), the rendering mode of the elements within the online canvas is set to the first mode (or high-definition mode), which is a rendering mode based on the original data of the elements; when the scaling ratio of the online canvas is less than a third scaling ratio threshold (e.g., 50%), resulting in the number of elements in the online canvas being greater than a third quantity threshold (e.g., 50), the rendering mode of the elements within the online canvas is set to the second mode (or thumbnail mode), which is a rendering mode based on the thumbnails of the elements; the online canvas is rendered based on the rendering mode.

[0157] In some embodiments, at least one partition in the online canvas is created by: in response to a partition drawing operation in the online canvas, where each geometry is a partition if a closed geometry is drawn by the drawing operation, and where the drawing operation is a line, dividing the online canvas into at least one partition using the line as a boundary.

[0158] For example, see Figure 5A , Figure 5A This is a schematic diagram of the first interface of the online canvas processing method provided in this application embodiment, taking a rectangle as an example of a closed geometric shape. Figure 5A The diagram illustrates how to draw closed geometric shapes using drawing operations (corresponding to...). Figure 5AThe geometric figures 001, 002, 003, and 004 shown are divided into four partitions from the online canvas 001, with each geometric figure serving as a partition. Figure 5A The four geometric shapes shown correspond to partitions 001 to 004 respectively.

[0159] Here, the closed geometric figure can be of various shapes, such as an irregular figure drawn manually. The embodiments of this application do not limit the specific shape of the geometric figure.

[0160] For example, see Figure 5B , Figure 5B This is a schematic diagram of the second interface of the online canvas processing method provided in this application embodiment. When the drawing operation involves drawing lines, the online canvas 002 is divided into four sections using lines 001 and 002 as dividing lines. Figure 5B Partitions 005 to 008 are shown in the image.

[0161] In some embodiments, at least one partition in the online canvas is created by: displaying multiple candidate templates in response to a triggering operation on a template entry (local template entry, external template entry) in the online canvas, wherein the types of candidate templates include local templates and external templates, the local templates being preset in the online canvas program, and the external templates being stored in the electronic device running the online canvas program or in the server of the online canvas program; and dividing at least one partition from the online canvas in response to a selection operation on the multiple candidate templates, based on the partition layout included in the selected candidate template.

[0162] For example, the partition layout included in the candidate template may include: a discussion area, which is a dedicated partition for team discussions, comments, and feedback; a collaboration area, such as a partition where multiple team members can edit and work simultaneously; an analysis area, such as a partition that provides decision matrices or other analytical tools to help the team make decisions; a design area, such as a partition for displaying sketches, charts, and user story maps for product or interface design; a resource area, such as a partition for storing reference documents, links, images, and other resources; and a results display area, such as a partition for displaying project results, reports, or charts.

[0163] In some embodiments, in response to a triggering operation on a local template entry in the online canvas, multiple local templates are displayed, wherein the local templates are preset in the online canvas program; in response to a selection operation on multiple local templates, at least one partition is divided from the online canvas according to the partition layout included in at least one (i.e., one or more) selected local templates.

[0164] For example, see Figure 5C , Figure 5C This is a schematic diagram of the third interface of the online canvas processing method provided in this application embodiment. In response to a trigger operation on a local template entry in the online canvas, multiple local templates are displayed, such as... Figure 5C The partition templates 1, 2, 3, and 4 shown herein, when partition template 1 (diamond partition) is selected, divide the online canvas 003 into partition 009 according to the layout of partition template 1 (diamond partition). Here, the number of partitions is only for example; templates can be selected repeatedly or existing partitions can be copied to divide the online canvas into multiple partitions. This application does not limit the style of the local partition template or the number of partitions divided by the local template. The elements in the partition can be those that are included in the partition template after the partition is divided; or those that are edited in the partition after the partition is divided; or a combination of the above two cases.

[0165] In some embodiments, in response to a triggering operation on an external template entry in an online canvas, a plurality of external templates to be imported are displayed, wherein the external templates are stored in an electronic device running an online canvas program or in a server of the online canvas program; in response to a selection operation on a plurality of external templates, the selected external template is imported into the online canvas, and at least one partition is divided from the online canvas based on the partition layout included in the external template.

[0166] For example, see Figure 5D , Figure 5D This is a schematic diagram of the fourth interface of the online canvas processing method provided in this application embodiment. In response to a trigger operation on an external template entry in the online canvas, multiple external templates to be imported are displayed. For example, in response to a trigger operation on an external template entry in the online canvas, multiple external templates to be imported are displayed. Figure 5D The trigger operation of control 401 imports the template stored in the electronic device running the online canvas program, in response to the action of the control 401. Figure 5D The trigger operation of control 402 redirects to the template website, allowing users to view and select templates stored on the server of the online canvas program. Through the selection operation of multiple external templates (or even just one external template), the selected external template is imported into the online canvas, and at least one partition is divided from the online canvas based on the partition layout included in the external template.

[0167] Here, a section template (also simply called a template) is a preset layout or design that includes predefined section styles (including section shape and size), elements contained within the section, and their layout (including the section's position on the canvas and the arrangement of elements within the section). Users can use it directly or modify it as needed. For example, a template themed around meeting agendas can contain different sections such as "Goals," "Discussion Points," "Decisions," and "Action Items" to help teams organize meeting content; a template themed around project management can include sections such as "To-Do Items," "In Progress," and "Completed" to track the progress of project tasks.

[0168] In some embodiments, dividing at least one partition from an online canvas can be achieved by: displaying a settings control to set parameters for the partition to be divided, including: the number of times the partition template is applied (assuming the partition template is a T-shaped layout, it is applied twice, resulting in two T-shaped partitions); if multiple times, the arrangement of the multiple partitions, such as horizontal, vertical, or radial arrangement; the position where the partition template is applied, such as setting the center coordinates of the partition, or dragging the partition template to a specified position, using this position as the center of the partition; the size of the partition, which can be customized in the settings control; and, in response to the partition parameters set in the settings control, dividing at least one partition from the online canvas that conforms to the set partition parameters.

[0169] In some embodiments, dividing at least one partition from an online canvas can be achieved by: responding to a type partitioning instruction (which may be text type, voice type, touch type (e.g., clicking a control in the online canvas that partitions based on type) or a peripheral-based instruction (e.g., a mouse, touchpad, gamepad)), dividing elements of the same type in the online canvas into partitions corresponding to the same type, wherein a partition corresponding to the same type includes multiple non-adjacent parts, the partition type includes logical partitions and physical partitions, a logical partition includes multiple non-adjacent parts (e.g., two non-adjacent squares, both green, represent belonging to one logical partition), a logical partition is a complete part (in this case, the partition is a physical partition), and different partitions apply different appearance parameters (e.g., border color, shape, etc.).

[0170] For example, the system receives different types of instructions (text, voice, touch, mouse, etc.) through the online canvas interface or application programming interface (API). It uses appropriate parsers (such as Natural Language Processing (NLP) tools, event detectors, etc.) to parse the instructions and determine their type and target. Element types (such as text, graphics, images, etc.) and their attributes (such as color, shape, etc.) are predefined. All elements on the canvas are traversed, and each element is categorized into its corresponding type based on its attributes. Data structures (such as lists, dictionaries) are used to store element information, including element type and attributes. Elements are assigned to corresponding logical partitions based on their attributes (such as color, shape). For example, all green squares belong to the same logical partition. Physically contiguous elements are directly assigned to physical partitions. Different appearance parameters (such as border color, shape, etc.) are defined for different types of partitions, so that the corresponding appearance parameters are applied to the elements within the partition based on the partition type. The partitions and appearance parameters of elements can be dynamically updated on the user interface to ensure that the user sees the latest partition status and provides user feedback to confirm that the partitioning operation is complete.

[0171] In some embodiments, dividing at least one partition from an online canvas can be achieved as follows: when the online canvas includes multiple elements (e.g., when it is edited in the online canvas without partitioning), in response to a semantic partitioning instruction (which may be text type, voice type, touch form (e.g., clicking a control in the online canvas that partitions based on type) or a peripheral-based instruction), the multiple elements are semantically understood using a pre-trained semantic understanding model to obtain the semantics of each element; elements expressing the same semantics among the multiple elements are partitioned into the same partition (e.g., if they are adjacent, they are partitioned into the same physical partition, and if they are not adjacent, they are partitioned into the same logical partition).

[0172] For example, a physical partition is a single, unified area, while a logical partition can include multiple independent sub-regions. These sub-regions can be indicated to belong to the same logical region by using the same display style (such as the same border color).

[0173] For example, a pre-trained NLP model, such as BERT or GPT, can be selected for semantic understanding, or a custom model can be trained according to specific needs. The model is integrated into the online canvas program to ensure it can handle data from the online canvas. Features, such as text content and image descriptions, are extracted from each element in the online canvas using an NLP model. If the element contains text, NLP tools can be used for preprocessing such as word segmentation, part-of-speech tagging, and entity recognition. Semantic analysis is performed on the text content of each element to extract key information, such as intent, topic, and entities. If the element is an image, image recognition technology can be used to extract semantic information from the image, determining the criteria for grouping elements expressing the same semantics into the same partition. By comparing semantic information, elements with high semantic similarity (e.g., cosine similarity greater than a preset similarity threshold) are matched. Based on the matching results, logical or physical partitions are created, assigning the matched elements to the corresponding partitions. Different styles or colors can be applied to different partitions to distinguish them. The element display on the canvas is updated to reflect the new partitions, and feedback is provided to the user to confirm the results of the partitioning operation.

[0174] In other embodiments, at least one of the following processes may also be performed:

[0175] Automatically or in response to scaling commands, the partition is adaptively scaled based on the number of elements it contains (e.g., highlighting the partition, highlighting its boundaries, or blinking it during scaling), wherein the free space ratio of the scaled partition is less than the free space ratio threshold.

[0176] Automatically or in response to scaling commands, the partition is adaptively scaled based on the number of objects (users) collaboratively editing the partition (e.g., highlighting the partition, highlighting its boundaries, blinking, etc. during scaling). The size (area) of the scaled partition is positively correlated with the number of objects.

[0177] For example, the system receives zoom commands via user input (such as scrolling, pinch-to-zoom, etc.) or via API, parses the zoom commands, determines the zoom direction (zoom in or out) and the degree of zoom, identifies the current canvas partitions and the elements contained in each partition, calculates the number of elements in each partition, calculates the free space ratio of each partition (the ratio of the partition area to the total area of ​​its elements), and determines whether to zoom the partition based on the free space ratio and a preset free space ratio threshold. The partition size is adjusted according to the number of users or elements to ensure that the partition area is positively correlated with the number of objects. During the zooming process, the partitions are temporarily highlighted, such as by changing their color, highlighting their boundaries, or adding a blinking effect. Animations are used to smoothly transition to the new partition size. Visual feedback is provided during the zooming process to let users know that the partitions are being zoomed. User feedback can be obtained after zooming is complete to confirm that the user is satisfied with the new partition layout.

[0178] In some embodiments, a partition is provided with a public attribute or a private attribute. A public attribute indicates that elements in a partition are publicly accessible to any object in the partition that is being collaboratively edited, while a private attribute indicates that elements in a partition are publicly accessible only to the object that was edited to form the element.

[0179] For example, you can define an attribute to indicate whether a partition element is public or private, ensuring all users are authenticated and their identities are identified, and assigning roles such as editor or viewer. By setting a public or private flag for each partition element, when a user attempts to access a partition element, their permissions are checked, and the element is shown or hidden based on those permissions (here, elements with the visibility attribute are shown). If a user attempts to access an element they do not have permission to access, appropriate feedback is provided. The partition owner or administrator can be allowed to change element permissions, and relevant users are notified after a permission change. Partitions can inherit element permissions to simplify permission management. Permission groups can also be created to manage elements with the same permissions. An audit log of permission changes can also be recorded for monitoring purposes.

[0180] In some embodiments, identifying the exportable element in the exportable area from the online canvas can be achieved by identifying the element with the visibility attribute in the exportable area from the online canvas, as well as the exportable element formed by editing a publishing object, wherein the publishing object is the object that publishes the canvas export instruction.

[0181] In some embodiments, when a partition is in collaborative editing mode, the methods for synchronizing the partition among multiple objects in the collaborative editing partition include real-time synchronization, triggered synchronization (such as manual triggering), and periodic synchronization (the synchronization period can be set by the user). Identifying the elements to be exported from the area to be exported in the online canvas can be achieved in the following ways:

[0182] When the partition to be exported is in real-time synchronization mode, identify the exportable elements that have been edited by multiple objects in the exportable area up to the current time from the online canvas; when the synchronization mode of the partition to be exported is in triggered synchronization mode, identify the exportable elements that have been edited by multiple objects in the exportable area up to the trigger time from the online canvas, where the trigger time is the time when the editing operations of multiple objects in the partition are triggered to synchronize; when the partition to be exported is in periodic synchronization mode, identify the exportable elements that have been edited by multiple objects in the exportable area up to the current period from the online canvas.

[0183] For example, trigger-based synchronization refers to a scenario in an online collaboration environment where the online canvas synchronizes all edited content in the current section to other collaborators only when a specific condition or event (such as a user clicking the sync button, a save operation, or reaching a certain editing threshold) is triggered. In this method, the elements up to the trigger time refer to the content already edited and formed in the canvas before that specific event occurred.

[0184] For example, suppose a team is collaborating using an online whiteboard, with three members, A, B, and C. Member A edits a section, but because a sync trigger is set, these changes are not immediately displayed to B and C. Only when A clicks the "Sync" button will A's changes be sent to B and C's whiteboards.

[0185] For example, periodic synchronization refers to the online canvas automatically synchronizing edits within a partition to other collaborators at set time intervals (such as every 5 minutes, every hour, etc.). In this method, edits made between the start and end of the current period are considered elements to be exported.

[0186] For example, suppose the whiteboard is set to synchronize periodically every 10 minutes. If the current period starts at 10:00, then edits made by A, B, and C between 10:00 and 10:10 will be synchronized to all collaborators' whiteboards at 10:10. Any changes made by any member within this period will be automatically synchronized at the end of the period.

[0187] In the triggered synchronization mode, after synchronization, all elements to be exported will immediately appear on the whiteboards of other collaborators, and collaborators can immediately see these latest changes. Data transfer is only performed when necessary, reducing unnecessary data transfer and thus lowering server load and network bandwidth consumption. Users can also confirm that the changes are correct before synchronizing, further reducing unnecessary intermediate steps and improving collaboration efficiency.

[0188] In the periodic synchronization mode, at the end of each period, all collaborators' whiteboards will be updated to the latest state, reflecting all edits made during that period. This synchronization method ensures that team members can see the latest collaborative results at the end of the period, even if they are working at different times. It simplifies user operations, eliminates the need for manual synchronization, and promotes process standardization and automation.

[0189] In other embodiments, templates with predefined element layout styles can also be imported for use within a specified partition. For example, these templates define the layout of elements within the partition, including the arrangement, alignment, and grouping of elements, as well as the styles of elements such as text boxes, graphics, and images, such as color, size, and transparency.

[0190] In other embodiments, when displaying the online canvas, the following operations may also be performed: in response to an adjustment instruction for at least one partition (which may be text-type, voice-type, touch-based (e.g., clicking a control in the online canvas that divides partitions based on type), or an instruction based on a peripheral (e.g., mouse, keyboard)), the at least one partition is adjusted, wherein the adjustment method includes at least one of the following: reshaping the shape of the at least one partition; resizing the at least one partition; repositioning the at least one partition; merging multiple partitions to obtain a new partition when there are multiple partitions; or splitting the at least one partition to obtain multiple new partitions.

[0191] For example, users can modify the shape of a partition by selecting it and choosing a new shape, such as changing a rectangular partition to a circle or ellipse. Users can also resize a partition, making it larger or smaller by dragging its edges or corners. Users can move a partition to different positions on the canvas by dragging it to a new location. When there are multiple partitions on the canvas, users can select two or more adjacent partitions to merge into a larger partition by selecting two or more partitions and performing a merge operation. Users can also select a partition and split it into multiple smaller partitions by selecting a partition and specifying a split line or point.

[0192] In some embodiments, adjusting at least one partition can be achieved by: responding to a first text adjustment instruction of type text, performing a first semantic understanding process on the first text adjustment instruction to obtain a first partition to be adjusted and a first adjustment method represented by the first text adjustment instruction, and adjusting the first partition to be adjusted using the first adjustment method, wherein the partition to be adjusted is a partition among at least one partition; responding to a speech adjustment instruction of type speech, performing a first speech recognition process on the speech adjustment instruction to obtain a second text adjustment instruction, performing a second semantic understanding process on the second text adjustment instruction to obtain a second partition to be adjusted and a second adjustment method represented by the second text adjustment instruction, and adjusting the second partition to be adjusted using the second adjustment method.

[0193] For example, see Figure 5E , Figure 5EThis is a fifth interface diagram of the online canvas processing method provided in this application embodiment. In response to a trigger operation on control 501, a first text adjustment instruction of text type is obtained, and in response to a trigger operation on control 502, a voice adjustment instruction of voice type is obtained. For example, the first text adjustment instruction may be "Please help me change the shape of partition 1 to a circle" or "Please help me merge partition 1 and partition 2 into one partition", etc.

[0194] For example, a pre-trained speech recognition model is invoked to perform first speech recognition processing on a speech adjustment command, resulting in a second text adjustment command. The speech recognition model can be trained as follows: Collect speech data: Collect a large number of speech samples, which should contain speech adjustment commands with different human voices, accents, and environmental noise. Transcribe the speech samples into text and use them as training labels for the speech recognition model. Choose a model architecture suitable for the speech recognition task, such as a Recurrent Neural Network (RNN), a Convolutional Neural Network (CNN), or a Transformer-based model. Speech samples are converted into feature representations, such as Mel Frequency Cepstral Coefficients (MFCCs) or filter banks. Next, a speech recognition model is trained using labeled data. For example, speech features are input into the model, and a loss function is used to measure the difference between the model output and the actual transcribed text, such as Character Error Rate (CER) or Word Error Rate (WER). The model parameters are updated using backpropagation algorithms (such as batch gradient descent, stochastic gradient descent, etc.) to reduce the value of the loss function. The forward and backpropagation processes are repeated, and the model parameters are optimized through multiple iterations to obtain the trained speech recognition model.

[0195] In some embodiments, performing first semantic understanding processing on the first text adjustment instruction to obtain the first partition to be adjusted and the first adjustment method represented by the first text adjustment instruction can be achieved in the following way: calling a pre-trained entity recognition model to perform entity recognition processing on the first text adjustment instruction to obtain the probability of multiple entities representing the partition respectively, and taking the entity corresponding to the highest probability as the first partition to be adjusted; calling a pre-trained intent recognition model to perform intent recognition processing on the first text adjustment instruction to obtain the probability of the first text instruction corresponding to multiple adjustment methods, and taking the adjustment method corresponding to the highest probability as the first adjustment method.

[0196] For example, a user inputs a first text adjustment instruction, such as "Please help me change the shape of partition 1 to a circle." A pre-trained entity recognition model is used to analyze the input text. For example, the entity recognition model identifies entities in the first text adjustment instruction, such as "partition 1" and "circle." The entity recognition model calculates the probability that each identified entity represents a partition and selects the entity with the highest probability as the first partition to be adjusted. For example, "partition 1" has the highest probability, so partition 1 is selected as the first partition to be adjusted. Next, a pre-trained intent recognition model is used to analyze the input first text adjustment instruction. For example, the intent recognition model identifies the intent in the first text adjustment instruction, such as "modify shape." The intent recognition model calculates the probability of each possible adjustment method and selects the adjustment method with the highest probability as the first adjustment method. For example, "modify shape" has the highest probability, so it is selected as the first adjustment method.

[0197] For example, training an entity recognition model can be achieved as follows: First, collect a large amount of text data containing adjustment instructions, covering different adjustment scenarios and expressions. Label the collected text data; for example, entity labels can include partition identifiers (e.g., "partition 1"), shape descriptions (e.g., "circle"), etc. Perform data preprocessing on the labeled data, such as word segmentation, character encoding, sequence padding, or truncation, to ensure the input data meets the model's requirements. Select a model architecture suitable for the entity recognition task, such as a recurrent neural network (RNN), a long short-term memory network (LSTM), or a Transformer-based model. Next, train the entity recognition model. First, the model parameters are randomly initialized or pre-trained model parameters are loaded. Input data is fed into the model, which calculates the entity label distribution corresponding to each word or character through the neural network of each layer. The loss between the model's predicted label sequence and the real label sequence (such as cross-entropy loss) is calculated. The model parameters are updated through backpropagation algorithms (such as batch gradient descent, stochastic gradient descent, etc.) to reduce the value of the loss function. The forward and backpropagation processes are repeated. Through multiple iterations to optimize the model parameters, the trained entity recognition model is obtained.

[0198] For example, training an intent recognition model can be achieved as follows: First, collect a large amount of text data containing adjustment instructions, covering different adjustment scenarios and expressions. Label the collected text data; for example, intent labels can include shape adjustment intents (e.g., the corresponding text "Please help me change the shape of partition 1 to a circle"), partition merging intents (e.g., the corresponding text "Please help me merge partition 1 and partition 2 into one partition"), etc. Perform data preprocessing on the labeled data, such as word segmentation, character encoding, sequence padding, or truncation, to ensure the input data meets the model's requirements. Select a model architecture suitable for the intent recognition task, such as a recurrent neural network (RNN), a long short-term memory network (LSTM), or a Transformer-based model. Next, train the intent recognition model. First, the model parameters are randomly initialized or pre-trained model parameters are loaded. Input data is fed into the model, which calculates the intent label distribution corresponding to each word or character through the neural network of each layer. The loss between the model's predicted label sequence and the real label sequence (such as cross-entropy loss) is calculated. The model parameters are updated through backpropagation algorithms (such as batch gradient descent, stochastic gradient descent, etc.) to reduce the value of the loss function. The forward and backpropagation processes are repeated. Through multiple iterations, the model parameters are optimized to obtain the trained intent recognition model.

[0199] In some embodiments, performing second semantic understanding processing on the second text adjustment instruction to obtain the second partition to be adjusted and the second adjustment method represented by the second text adjustment instruction can be achieved in the following ways: calling a pre-trained entity recognition model to perform entity recognition processing on the second text adjustment instruction, obtaining the probability of multiple entities representing the partition respectively, and taking the entity corresponding to the highest probability as the second partition to be adjusted; calling a pre-trained intent recognition model to perform intent recognition processing on the second text adjustment instruction, obtaining the probability of the second text instruction corresponding to multiple adjustment methods, and taking the adjustment method corresponding to the highest probability as the second adjustment method.

[0200] In other embodiments, adjusting at least one partition can be achieved by identifying the partition to be adjusted and the adjustment method indicated by the touch instruction when the type of adjustment instruction is a touch instruction or a control instruction implemented based on a peripheral device, and adjusting the partition to be adjusted by the adjustment method.

[0201] For example, see Figure 5F , Figure 5FThis is a sixth interface diagram of the online canvas processing method provided in this application embodiment. In response to the trigger operation of the partition setting control 601 for partition 101, the partition setting menu 602 is displayed. Touch commands or implementation-based control commands to adjust partition 101 can be entered through the partition setting menu 602, such as adjusting size, changing position, changing shape, dividing into multiple sub-partitions, etc. For merging partitions, multiple partitions can be selected by box selection, triggering the partition merging control to merge the selected partitions into one partition. Here, the style and function of the partition setting menu are only examples. This application embodiment does not limit the style or specific functions of the command menu that responds to the command when the type of adjustment command is a touch command or a control command implemented based on a peripheral device.

[0202] In step 102, in response to a canvas export command of text type or voice type, at least one area to be exported indicated by the canvas export command and the elements to be exported in each area to be exported are identified.

[0203] In some embodiments, see Figure 3B , Figure 3A Step 102 shown can be implemented through steps 1021 to 1023, which will be explained in detail below.

[0204] In step 1021, the canvas export command is subjected to second semantic understanding processing to obtain the region description text of at least one region to be exported and the element description text of the element to be exported in each region to be exported.

[0205] In some embodiments, see Figure 3C , Figure 3B Step 1021 shown can be implemented through steps 10211 to 10215, which will be explained in detail below.

[0206] In step 10211, if the canvas export command is of the speech type, the canvas export command is subjected to second speech recognition processing to obtain the command text, and the command text is subjected to word segmentation processing to obtain the command words.

[0207] In some embodiments, a pre-trained speech recognition model is invoked to perform a second speech recognition process on the canvas export command to obtain the command text. Here, the specific implementation of training the speech recognition model can be found in step 101 above, which describes the first speech recognition process on the speech adjustment command to obtain the second text adjustment command, and will not be repeated here.

[0208] In some embodiments, punctuation marks such as spaces, periods, and commas can be used as tokens to segment the instruction text, that is, to divide the instruction text into input units (tokens). Alternatively, third-party word segmentation tools such as Jieba, NLTK, and SpaCy can be used to segment the instruction text. These tools can achieve accurate Chinese and English word segmentation through algorithms and language models.

[0209] In step 10212, if the canvas export command is of text type, the canvas export command is segmented to obtain command words.

[0210] For details on the specific implementation of word segmentation, please refer to the description in step 10211 above, which will not be repeated here.

[0211] In step 10213, entity recognition processing is performed on the instruction words to obtain multiple entity words.

[0212] In some embodiments, before performing entity recognition processing on the instruction word, word embedding encoding processing can be performed on the instruction word to obtain word embedding features. For example, word embedding encoding processing can be performed on the instruction word (input unit) through a word embedding model (such as Word2Vec, GloVe, etc.), representing each input unit as a fixed-length vector, and forming word embedding features (sequence) in order.

[0213] In some embodiments, a pre-trained entity recognition model is invoked to perform entity recognition processing on the word embedding features, resulting in multiple entity words. The specific implementation method for training the entity recognition model can be found in the description of step 101 above, and will not be repeated here.

[0214] In step 10214, the instruction words are subjected to syntactic analysis to obtain the instruction syntax.

[0215] In some embodiments, the instruction words are processed by a parser to obtain the instruction grammar, which includes the grammatical role and relationship of each instruction word in the sentence.

[0216] Here, the syntax analyzer (PARSER) is a key component in natural language processing (NLP) used to analyze and understand the grammatical structure in text data. The syntax analyzer can be a rule-based parser, a statistical parser, a deep learning parser, etc. The embodiments of this application do not limit the type of syntax analyzer.

[0217] For example, training a deep learning-based parser can be achieved by: collecting data: First, a large amount of text data needs to be collected to train the parser. Then, the collected text data is manually labeled, assigning part-of-speech tags and dependency relation tags to each word.

[0218] Choose a suitable deep learning architecture, such as LSTM or Transformer, as the core of the parser. Pre-train the model using a large corpus to learn a general representation of the language. Fine-tune the model for specific parsing tasks to adapt to specific annotation rules and language characteristics.

[0219] For example, the canvas export command "Please help me export the text box of partition 1" is segmented into the following command words: please, help, I, take, partition 1, of, text box, export. Then, a parser performs syntactic analysis to determine the dependency relationships between the command words and obtain the dependency tree. For example, in the dependency tree, "please" is the root node, representing the request of the entire sentence; "help" is the direct clause of "please", representing the specific content of the request; "I" is the object of "help", representing the object of the request; "take" is a particle used to introduce the object "text box of partition 1" and the following action "export"; "partition 1" is the object of "take", representing the specific object to be exported; "of" is a particle used to connect "partition 1" and "text box", representing the attribute or dependency relationship of "partition 1"; "text box" is the object of "of", representing the specific attribute of "partition 1", i.e., the object to be exported; "export" is a verb, representing the action performed on "text box of partition 1".

[0220] In step 10215, based on the instruction syntax, at least one region description text for each region to be exported and an element description text for each element to be exported in each region to be exported are determined from multiple entity words.

[0221] In some embodiments, based on instruction syntax, the subordinate relationships between entity words are determined by relation extraction, thereby determining at least one region description text for each region to be exported and an element description text for each element to be exported in each region from multiple entity words.

[0222] Following the example above, by analyzing the dependency tree output by the parser, the specific relationship between "Partition 1" and "Text Box" is determined. Dependency relationships can include subject-verb, verb-object, and modifier relationships. Based on the dependency tree, relation extraction is performed, determining that the entity "Partition 1" is a modifier of the entity "Text Box". This means that "Partition 1" belongs to a higher-level structure, and "Text Box" is a part of this structure. Therefore, "Partition 1" is used as the region description text of the area to be exported, and "Text Box" is used as the element description text of the element to be exported in the area to be exported. That is, the canvas export command instructs to export the Text Box (the element to be exported) from Partition 1 (the area to be exported).

[0223] See also Figure 3B In step 1022, image recognition processing is performed on the online canvas to obtain the boundary of each partition and the elements within the boundary of each partition.

[0224] In some embodiments, see Figure 3D The image recognition process on the online canvas is performed to obtain the boundary of each partition, which can be achieved through steps 10221 to 10225, as explained in detail below.

[0225] In step 10221, the online canvas is converted to grayscale to obtain a grayscale canvas.

[0226] In some embodiments, a weighted average method is used to grayscale each pixel of the online canvas to obtain a grayscale canvas. For example, for each pixel, the grayscale value can be calculated by the following formula: grayscale value = 0.299 × red value + 0.587 × green value + 0.114 × blue value.

[0227] In step 10222, gradient calculation is performed on each pixel in the grayscale canvas to obtain the gradient value of each pixel.

[0228] In some embodiments, gradient calculations can be performed on each pixel in the grayscale canvas using gradient operators, such as the Sobel operator, the Prewitt operator, and the Roberts operator, to obtain the gradient value of each pixel.

[0229] In step 10223, in response to the gradient value of a pixel being greater than a first gradient threshold, the pixel is designated as the first boundary point.

[0230] In some embodiments, in response to a pixel's gradient value being greater than a first gradient threshold, the pixel is designated as a first boundary point (or first edge point). The first gradient threshold is not fixed and can be set based on empirical values ​​for different types of images.

[0231] In some other embodiments, the gradient value of pixel 1 can be represented as "2↑", where the value represents the gradient magnitude of the current pixel and the arrow direction represents the gradient direction of the current pixel. For each pixel, the gradient magnitude of the current pixel is compared with the gradient magnitude of the two pixels adjacent to it in the gradient direction. If the gradient magnitude of the current pixel is greater than the gradient magnitude of the two adjacent pixels, then the pixel is retained and this pixel is used as the first dividing point.

[0232] In step 10224, in response to a pixel's gradient value being greater than or equal to a second gradient threshold, less than a first gradient threshold, and adjacent to a first boundary point, the pixel is designated as a second boundary point, wherein the first gradient threshold is greater than the second gradient threshold.

[0233] In some embodiments, when the gradient value of a pixel is greater than or equal to a second gradient threshold, less than a first gradient threshold, and is adjacent to a first boundary point, or when the pixel is adjacent to a first boundary point, the pixel is designated as the second boundary point.

[0234] In step 10225, the boundaries of each partition are determined by the first and second boundary points.

[0235] In some embodiments, starting from the first boundary point and the second boundary point, adjacent first boundary points and second boundary points are connected by an edge detection algorithm (such as Hough transform, Canny algorithm, etc.) to form a closed edge line, and the boundary of each partition is determined based on the closed edge line.

[0236] For example, after obtaining the closed edge lines, use a contour detection method (such as OpenCV's findContours) to obtain all contours in the online canvas. Then, contours with containment relationships can be sorted according to their area or perimeter (for example, if contour 1 includes contour 2, then contour 1 and contour 2 have a containment relationship). The outer contour with the largest area or perimeter is used as the boundary of a partition. For example, if boundary 1 includes element 1, obtain the contour of partition 1 and the contour of element 1. Since the area of ​​the contour of partition 1 is greater than the area of ​​the contour of element 1, the contour of partition 1 is used as the boundary of the partition.

[0237] In some embodiments, the elements within the boundaries of each partition can be obtained by performing at least one of the following element recognition processes within the boundaries of each partition: performing text recognition processing on the partition to obtain text elements; performing graphic recognition processing on the partition to obtain graphic elements; and performing element template matching processing on the partition to obtain template elements.

[0238] For example, optical character recognition (OCR) technology can be used to recognize the text in a partition, extract text data from the OCR results, and associate it with elements in the canvas to obtain text elements.

[0239] For example, computer vision algorithms (such as edge detection, shape recognition, etc.) can be used to identify graphic elements and extract the attributes of graphic elements (such as position, size, shape, etc.).

[0240] For example, you can define a set of template elements, match the elements in the canvas with the templates, find the best matching element, extract the matched template element, and record its position and attributes.

[0241] See also Figure 3B In step 1023, the region to be exported is determined from the boundary of each partition based on the region description text of each exported region, and the element to be exported is determined from the element in each exported region based on the element description text of the element to be exported in each exported region.

[0242] In some embodiments, the region to be exported is determined from the boundary of each partition according to the partition indicated by the region description text, and the element to be exported is determined from the element in each region according to the element description text of the element to be exported in each region. For example, if the region description text is "partition 1", then the region within the boundary of partition 1 is taken as the region to be exported. If the element description text is "text box", then the text box is obtained from the region indicated by partition 1 as the element to be exported.

[0243] In other embodiments, after the user creates the canvas, the location, attributes, and other information of the partitions and elements are saved according to a data structure. This data is used to obtain the data corresponding to the region description text and element description text from the saved data, which are then used as the regions and elements to be exported.

[0244] See also Figure 3A In step 103, the elements to be exported in the area to be exported are identified from the online canvas.

[0245] In some embodiments, the elements to be exported in the online canvas can be identified from the boundary position of the area to be exported and the type of the element to be exported as determined above. The area to be exported and the element to be exported can also be highlighted so that the user can check whether the content to be exported meets expectations and thus modify the canvas export instructions in a timely manner.

[0246] In step 104, a file with a set format is generated based on the elements to be exported, and the file is displayed.

[0247] In some embodiments, export data is constructed based on the type, attributes, position, and size of the element to be exported in the online canvas; the export data is then converted according to the parameters set in the export data to obtain a file in the specified format (such as PDF, image, Word, etc.).

[0248] For example, extract data for each element to be exported from the online canvas, including type, attributes, position, and size. Design a suitable data structure to store this information, such as a JSON object or XML format. Define export parameters, such as page size, margins, font, color, etc., and provide a user interface (e.g., ...). Figure 5G The export settings menu 801 shown allows users to set these parameters and select a suitable conversion tool, such as pdfkit, jsPDF, ReportLab, iText, etc., and use the selected tool to convert the exported data to a set format (such as PDF format).

[0249] In some embodiments, see Figure 3E The export data can be converted according to the parameters set and the format of the exported data. This can be achieved through the following steps 1041 to 1044, which are explained in detail below.

[0250] In step 1041, in response to the fact that the element to be exported is a vector graphic, path analysis is performed on the vector graphic to obtain the graphic path.

[0251] In some embodiments, vector graphics need to be represented in a certain way, such as representing a series of vertices (vertices list), representing line segments or curves in vector graphics as connections between vertices (edges list), and representing closed or open paths in vector graphics as vertex sequences (paths list). Path analysis is performed on the vector graphics using a pathfinding algorithm to obtain the graphical path.

[0252] For example, pathfinding algorithms can include shortest path algorithms such as Dijkstra's algorithm and A* algorithm; Depth-First Search (DFS) is used to find paths or analyze the connectivity of a graph; and Breadth-First Search (BFS) is used to find the shortest path or analyze the hierarchical structure of a graph.

[0253] In step 1042, a geometric transformation is performed based on the graphic path to obtain a new vector graphic.

[0254] In some embodiments, firstly, key information is extracted from the graphical path obtained by path analysis, such as the coordinates of the starting and ending points of the path, the coordinates of nodes on the path, and the total length of the path. Next, geometric transformations are performed based on the extracted key information. Geometric transformations may include translation, rotation, scaling, symmetry, shearing, etc. The geometric transformations are applied to each point, line, and polygon of the vector graphic to update its coordinates and geometric properties, resulting in a new vector graphic.

[0255] For example, when the geometric transformation is a translation transformation, the starting and ending coordinates of the graphic path can be used to calculate the distance and direction of the translation. Then, the translation transformation is applied to each point of the vector graphic. For example, the starting coordinates (x1, y1) and ending coordinates (x2, y2) of the path can be extracted from the path analysis results. The vector (Δx, Δy) from the starting point to the ending point can be calculated, which represents the direction and distance of the translation. Δx = x2 - x1, Δy = y2 - y1. The coordinates (xi, yi) of each point are updated according to the translation vector. The new coordinates (xi', yi') = (xi + Δx, yi + Δy).

[0256] For example, when the geometric transformation is a rotation transformation, a rotation center point (which can be a node on the path) can be determined, the rotation angle can be determined based on the path analysis results (graphical path), and then the rotation transformation can be applied to each point of the vector graphic.

[0257] For example, when the geometric transformation is a scaling transformation, the scaling ratio can be calculated based on the path length or area determined by the graphic path, and then the scaling transformation can be applied to each point of the vector graphic.

[0258] For example, when the geometric transformation is a symmetric transformation, the axis of symmetry or center of symmetry can be determined, and then symmetry can be applied to each point of the vector graphic.

[0259] For example, when performing geometric transformations, the transformation matrix can be represented using homogeneous coordinates, which simplifies the calculation process. Homogeneous coordinates allow for both translation and linear transformations simultaneously.

[0260] In step 1043, in response to the fact that the element to be exported is a bitmap graphic, the bitmap graphic is compressed to obtain a compressed bitmap graphic.

[0261] In some embodiments, bitmap graphics are preprocessed before compression to improve compression efficiency. For example, the resolution of the bitmap graphics is reduced without affecting visual quality; the image is converted from RGB to YUV color space; unnecessary metadata (Exchangeable Image File Format, EXIF) in the bitmap graphics is removed to reduce file size.

[0262] As an example, preprocessed bitmap graphics can be compressed using either lossy or lossless compression algorithms. Lossy compression algorithms analyze the bitmap graphics data and identify visually unimportant information for compression, such as by reducing the number of colors in the bitmap graphics or applying Discrete Cosine Transform (DCT) to remove redundant information. Lossless compression algorithms utilize the redundant information in the bitmap graphics to reduce the file size without losing any original data.

[0263] For example, in lossy compression, a quality threshold can be set to maintain an acceptable quality level. In lossless compression, the compression strength can be set; higher levels result in longer compression times but may also achieve higher compression ratios.

[0264] In step 1044, the compressed bitmap graphic is subjected to color correction processing to obtain a new bitmap graphic.

[0265] In some embodiments, compression may affect the color of bitmap graphics, especially after lossy compression. Therefore, it is possible to check whether the compressed bitmap graphics have color cast or color distortion. For example, color correction algorithms (such as white balance algorithm, histogram equalization, color saturation enhancement, etc.) can be used to perform color correction processing on the compressed bitmap graphics to obtain a new bitmap graphics.

[0266] In other embodiments, in order to maintain color consistency across different devices, a color profile (ICC Profile) for the target display device can be obtained, and color management software or an image processing library can be used to apply the color profile to the compressed bitmap graphics to ensure accurate display on a specific device.

[0267] In other embodiments, before identifying at least one region to be exported indicated by the canvas export command and the elements to be exported in each region, the following processing may also be performed: performing a grammar check on the canvas export command to obtain a language check result; in response to the grammar check result indicating a grammar error, displaying a prompt to re-enter the canvas export command in the online canvas, and re-acquiring the canvas export command until the language check result of the re-acquired canvas export command indicates that the grammar check has passed.

[0268] For example, syntax checking of canvas export commands can be implemented as follows: The canvas export command is parsed, converting the user-inputted command into a structure that the system can understand and process. This includes breaking down the keywords and parameters in the command. Next, the command is checked for compliance with preset syntax rules, such as checking if the partition number exists in the canvas and if the command format is correct. If the command is grammatically correct, the subsequent export operation continues. If a syntax error is detected, an error message is displayed to the user, prompting them to re-enter the export command. For example, a prompt box or dialog box may be displayed on the online canvas interface, informing the user that they need to re-enter the command. This process needs to be repeated until the user enters a grammatically correct canvas export command.

[0269] Here, syntax rules refer to a set of predefined standards and guidelines that determine the format and structure that canvas export instructions must follow so that online canvas programs can correctly understand and execute these instructions. Specifically, syntax rules can include the following aspects:

[0270] Formatting requirements: Canvas export commands must have specific start and end markers, such as using specific symbols, keywords, or specific command structures.

[0271] Keywords and symbols: The canvas export command needs to contain specific keywords or symbols that represent specific operations or functions.

[0272] Parameters and values: If the canvas export command requires parameters, such as partition numbers, the syntax rules will define the position and type of the parameters (such as numbers, text, etc.), whether they can be empty or required, and whether these parameters are out of range. For example, if a user creates partitions 1 and 2, but the user enters the canvas export command as "Export elements of partition 3", then the partition number is out of range and there is a syntax error. The online canvas can display a prompt to re-enter the canvas export command, such as "The 'partition 3' to be exported does not exist. Please check and re-enter the canvas export command" to obtain the canvas export command again.

[0273] In some embodiments, in response to a language check result indicating a syntax error in a reacquired canvas export instruction, a prompt for input instructions is displayed on the online canvas; in response to acquiring a touch-based or peripheral-based canvas export instruction, execution proceeds to identify at least one area to be exported indicated by the canvas export instruction and the elements to be exported in each area, wherein the touch-based or peripheral-based canvas export instruction carries at least one area to be exported and the elements to be exported in each area.

[0274] For example, firstly, the online canvas identifies and configures the connected touch device or peripheral, such as a touchscreen or touchpad, and ensures that the corresponding driver is installed so that the device can communicate properly with the online canvas. The touch device collects user actions, such as touching, swiping, and clicking, which are converted into digital signals. The online canvas program parses these digital signals and converts them into recognizable canvas export instructions, such as selecting partition 1 with the mouse, thereby obtaining the canvas export instructions carrying at least one area to be exported and the elements to be exported within each area.

[0275] In some embodiments, before generating and displaying a file in a set format based on the elements to be exported, the following operations may be performed: in response to a filtering instruction of voice type or text type (which may be text type, voice type, touch type (e.g., clicking a filtering control in an online canvas) or peripheral-based instruction (e.g., keyboard, mouse)), identify the elements to be exported from the elements to be exported in the export area that meet the filtering conditions indicated by the filtering instruction, wherein the filtering conditions include at least one of the following filtering factors: the object of the element being edited, the type of the element, the size of the element, and the position of the element; generate a file in a set format based on the elements to be exported that meet the filtering conditions.

[0276] For example, analyze the filter instructions to extract the filter conditions, such as: the object (user) editing the element, specifying which object (user) edited the element; the type of the element, such as a text box, image, chart, etc.; the size of the element, such as the element's width, height, and other size limitations; and the position of the element, such as the element's coordinates on the canvas. See also Figure 5I It can be displayed by triggering operations on the filter controls in the online canvas. Figure 5I The interface of the filter settings menu 901 shown in the figure allows for customization of filter conditions to further identify exportable elements that meet the filter conditions indicated by the filter instructions from the exportable elements in the exportable area.

[0277] By analyzing filtering instructions and extracting filtering conditions, users can more accurately locate and export the required elements. This feature enhances the flexibility of element export. Users can specify specific filtering conditions, such as the elements edited by the user, the type of the elements, the size, and the position, thereby ensuring that only elements that meet these conditions are exported. This reduces unnecessary data export and improves export efficiency and quality. When processing a large number of elements, the filtering function can help users quickly locate the set of elements that need to be exported, thereby optimizing the batch operation process.

[0278] It should be noted that the embodiments of this application can be applied to various online collaboration scenarios, such as online meetings, online teaching and training, and creative drawing and presentation. Below, using the aforementioned terminal device as the execution subject, exemplary applications of the embodiments of this application in online collaboration scenarios will be described. See also Figure 4A and Figure 4B , will combine Figure 4A and Figure 4B The steps shown are explained.

[0279] In step 201, a user operation is received.

[0280] In some embodiments, users can create at least one desired partition through the online canvas interface, add and edit various elements on the canvas, and drag and drop elements into the designated partition, allowing users in different locations to connect via network to collaboratively edit and view the content of the canvas.

[0281] In some embodiments, displaying an online canvas can be achieved as follows: In response to the online canvas's scaling ratio being greater than a first scaling ratio threshold and less than or equal to a second scaling ratio threshold, the rendering mode of elements within the online canvas is set to a first mode, wherein the first scaling ratio threshold is less than the second scaling ratio threshold, and the first mode is a rendering mode based on the element's original data; In response to the online canvas's scaling ratio being less than a third scaling ratio threshold, the rendering mode of elements within the online canvas is set to a second mode, wherein the third scaling ratio threshold is less than the first scaling ratio threshold, and the second mode is a rendering mode based on the element's thumbnail; The online canvas is then rendered based on the rendering mode. For example, the implementation method can be found in the description of step 101 above, and will not be repeated here.

[0282] In some embodiments, at least one partition in the online canvas is created by: in response to a partition drawing operation in the online canvas, where each geometry is a partition if a closed geometry is drawn by the drawing operation, and where the drawing operation is a line, dividing the online canvas into at least one partition using the line as a boundary.

[0283] In some embodiments, at least one partition in the online canvas is created by: displaying multiple candidate templates in response to a triggering operation on a template entry (local template entry, external template entry) in the online canvas, wherein the types of candidate templates include local templates and external templates, the local templates being preset in the online canvas program, and the external templates being stored in the electronic device running the online canvas program or in the server of the online canvas program; and dividing at least one partition from the online canvas in response to a selection operation on the multiple candidate templates, based on the partition layout included in the selected candidate template.

[0284] In some embodiments, dividing at least one partition from an online canvas can be achieved by: displaying a settings control to set parameters for the partition to be divided, including: the number of times the partition template is applied (assuming the partition template is a T-shaped layout, it is applied twice, resulting in two T-shaped partitions); if multiple times, the arrangement of the multiple partitions, such as horizontal, vertical, or radial arrangement; the position where the partition template is applied, such as setting the center coordinates of the partition, or dragging the partition template to a specified position, using this position as the center of the partition; the size of the partition, which can be customized in the settings control; and, in response to the partition parameters set in the settings control, dividing at least one partition from the online canvas that conforms to the set partition parameters.

[0285] In some embodiments, dividing at least one partition from an online canvas can be achieved by: responding to a type partitioning instruction (which may be text type, voice type, touch type (e.g., clicking a control in the online canvas that partitions based on type) or a peripheral-based instruction (e.g., a mouse), dividing elements of the same type in the online canvas into partitions corresponding to the same type, wherein each partition corresponding to the same type includes multiple non-adjacent parts, the partition types include logical partitions and physical partitions, a logical partition includes multiple non-adjacent parts (e.g., two non-adjacent squares, both green, represent belonging to one logical partition), a logical partition is a complete part (in this case, the partition is a physical partition), and different partitions are applied to different appearance parameters (e.g., border color, shape, etc.).

[0286] In some embodiments, dividing at least one partition from an online canvas can be achieved as follows: when the online canvas includes multiple elements (e.g., when it is edited in the online canvas without partitioning), in response to a semantic partitioning instruction (which may be text type, voice type, touch form (e.g., clicking a control in the online canvas that partitions based on type) or a peripheral-based instruction), the multiple elements are semantically understood using a pre-trained semantic understanding model to obtain the semantics of each element; elements expressing the same semantics among the multiple elements are partitioned into the same partition (e.g., if they are adjacent, they are partitioned into the same physical partition, and if they are not adjacent, they are partitioned into the same logical partition).

[0287] In other embodiments, at least one of the following processes may also be performed:

[0288] Automatically / in response to scaling commands, the partition is adaptively scaled based on the number of elements it contains (e.g., highlighting the partition, highlighting the boundaries, blinking, etc. during scaling), wherein the idle ratio of the scaled partition is less than the idle ratio threshold.

[0289] Automatically / responsive to scaling commands, the partition is adaptively scaled based on the number of objects (users) collaboratively editing the partition (e.g., highlighting the partition, highlighting the boundaries, blinking, etc. during scaling). The size (area) of the scaled partition is positively correlated with the number of objects.

[0290] In some embodiments, a partition is provided with a public attribute or a private attribute. A public attribute indicates that the elements in the partition are public to any object (user) that collaboratively edits the partition, while a private attribute indicates that the elements in the partition are public only to the object that edits to form the element.

[0291] In other embodiments, templates with predefined element layout styles can also be imported for use within a specified partition. For example, these templates define the layout of elements within the partition, including the arrangement, alignment, and grouping of elements, as well as the styles of elements such as text boxes, graphics, and images, such as color, size, and transparency.

[0292] In other embodiments, when displaying the online canvas, the following operations may also be performed: in response to an adjustment instruction for at least one partition (which may be text-type, voice-type, touch-based (e.g., clicking a control in the online canvas that divides partitions based on type), or an instruction based on a peripheral (e.g., mouse, keyboard)), the at least one partition is adjusted, wherein the adjustment method includes at least one of the following: reshaping the shape of the at least one partition; resizing the at least one partition; repositioning the at least one partition; merging multiple partitions to obtain a new partition when there are multiple partitions; or splitting the at least one partition to obtain multiple new partitions.

[0293] For example, users can modify the shape of a partition by selecting it and choosing a new shape, such as changing a rectangular partition to a circle or ellipse. Users can also resize a partition, making it larger or smaller by dragging its edges or corners. Users can move a partition to different positions on the canvas by dragging it to a new location. When there are multiple partitions on the canvas, users can select two or more adjacent partitions to merge into a larger partition by selecting two or more partitions and performing a merge operation. Users can also select a partition and split it into multiple smaller partitions by selecting a partition and specifying a split line or point.

[0294] In some embodiments, the creation and management of partitions are implemented through a partition management module. For example, the partition management module is responsible for creating, modifying, and deleting partitions in the online canvas, providing users with an intuitive and flexible interface. Regarding partition creation, the partition management module offers users multiple options, including manual drawing, preset templates (corresponding to local templates), and importing externally defined partition schemes (corresponding to external templates). Manual drawing allows users to freely define partition boundaries on the canvas through simple drag-and-drop operations; preset templates provide a series of commonly used partition layouts, such as "T-shaped" and "U-shaped," to meet the needs of meetings and discussions in different scenarios; and the function of importing externally defined partition schemes allows users to import predefined partition settings from local files (preset in the online canvas program) or other systems (such as those stored on the electronic device running the online canvas program or stored on the server of the online canvas program). Furthermore, the partition management module also supports real-time adjustments to existing partitions, including modifying the shape, size, and position of partitions, as well as merging or splitting partitions.

[0295] In step 202, it is determined whether to select partition export.

[0296] In some embodiments, in response to the user not selecting a partition to export (i.e., not selecting a partition to export), the process proceeds to step 203; in response to the user selecting a partition to export (i.e., the user selecting a partition to export), the process proceeds to step 204.

[0297] Here, the user selects a partition, which can be achieved through text type, voice type, touch form (e.g., clicking on a control in the online canvas that divides partitions based on type), or a canvas export command based on a peripheral device (e.g., a mouse). That is, the canvas export command carries at least one area to be exported and the elements to be exported in each area. This application embodiment does not limit the type or form of the canvas export command.

[0298] In step 203, the user is prompted to select the partition to be exported.

[0299] In some embodiments, prompting the user to select the partition to be exported can be achieved by displaying an input control for a text-type or voice-type canvas export command, and in response to a triggering operation on the input control for the canvas export command, obtaining the text-type or voice-type canvas export command, thereby prompting the user to enter the partition to be exported.

[0300] In other embodiments, a prompt is displayed to the user to select a partition, such as "Please select the partition to be exported". In response to receiving a touch-based or peripheral-based canvas export command, at least one region to be exported and the elements to be exported in each region to be exported are selected as the target export partition.

[0301] In other embodiments, the canvas export command is subjected to a grammar check to obtain a language check result; in response to the grammar check result indicating that there is a grammar error, a prompt to re-enter the canvas export command is displayed in the online canvas, and the canvas export command is re-acquired until the language check result of the re-acquired canvas export command indicates that the grammar check has passed.

[0302] For example, suppose a user creates partition 1 and partition 2, and the canvas export command is "Export elements of partition 3". The canvas export command is subjected to a syntax check. The syntax check result indicates that there is a syntax error, and a prompt to re-enter the canvas export command is displayed in the online canvas, such as "Partition 3 to be exported does not exist. Please check and re-enter the canvas export command" to obtain the canvas export command again.

[0303] In some embodiments, in response to a language check result indicating a syntax error in a reacquired canvas export instruction, a prompt for input instructions is displayed on the online canvas; in response to acquiring a touch-based or peripheral-based canvas export instruction, execution proceeds to identify at least one area to be exported indicated by the canvas export instruction and the elements to be exported in each area, wherein the touch-based or peripheral-based canvas export instruction carries at least one area to be exported and the elements to be exported in each area.

[0304] In step 204, the data extraction module is invoked to extract data from the specified partition.

[0305] In some embodiments, the data extraction module is responsible for identifying at least one area to be exported as indicated by the canvas export command and the elements to be exported in each area, thereby extracting the corresponding data accurately and efficiently.

[0306] For example, the data extraction module can accurately locate the user-selected partition to be exported (i.e., the specified partition), identify the partition boundaries, and determine the affiliation of each element. Once the partition range is determined, the data extraction module begins to traverse all elements in the canvas. During the extraction process, the module employs a multi-layered data filtering mechanism. This includes not only basic geometric attribute filtering, such as the position and size of elements, but also more complex logical judgments, such as the type of elements and content relevance. This multi-layered filtering ensures the accuracy and completeness of the extracted data.

[0307] In some embodiments, identifying at least one region to be exported indicated by the canvas export instruction and the elements to be exported in each region can be achieved by: performing a second semantic understanding process on the canvas export instruction to obtain the region description text of each of the at least one region to be exported and the element description text of the elements to be exported in each region to be exported (see the description of step 1021 above); performing image recognition processing on the online canvas to obtain the boundary of each partition and the elements within the boundary of each partition (see the description of step 1022 above); determining the region to be exported from the boundary of each partition based on the region description text of each exported region, and determining the elements to be exported from the elements within each region to be exported based on the element description text of the elements to be exported in each region to be exported (see the description of step 1023 above).

[0308] In some embodiments, performing second semantic understanding processing on the canvas export command to obtain region description text for at least one region to be exported and element description text for each element to be exported in each region to be exported can be achieved in the following ways: when the canvas export command is of speech type, performing second speech recognition processing on the canvas export command to obtain command text, and performing word segmentation processing on the command text to obtain command words (see the description of step 10211 above); when the canvas export command is of text type, performing word segmentation processing on the canvas export command to obtain command words (see the description of step 10212 above); performing entity recognition processing on the command words to obtain multiple entity words (see the description of step 10213 above); performing syntactic analysis processing on the command words to obtain command syntax (see the description of step 10214 above); and based on the command syntax, determining at least one region description text for each region to be exported and element description text for each element to be exported in each region to be exported from the multiple entity words (see the description of step 10215 above).

[0309] In some embodiments, the canvas export command is subjected to a second semantic understanding process to obtain the region description text of at least one region to be exported and the element description text of the element to be exported in each region to be exported. This can be achieved by semantic analysis of the canvas export command using a large language model.

[0310] In step 205, the data of the specified partition is extracted.

[0311] In some embodiments, in response to a filtering instruction of voice or text type (which may be text type, voice type, touch type (e.g., clicking a filtering control in an online canvas) or peripheral-based instruction (e.g., keyboard, mouse), elements to be exported that meet the filtering conditions indicated by the filtering instruction are identified from the elements to be exported in the export area, wherein the filtering conditions include at least one of the following filtering factors: the object of the element being edited, the type of the element, the size of the element, and the position of the element; a file in a set format is generated based on the elements to be exported that meet the filtering conditions.

[0312] For example, the filtering instructions can be further derived from the canvas export instructions. For instance, if the canvas export instructions are "Please help me export all partitions containing text boxes" or "Please help me export the text boxes in partition 1", then the corresponding filtering instructions could be "Filter the partitions containing text boxes as the partitions to be exported, and use all elements in each partition as the elements to be exported in that partition", or "Filter the text boxes in partition 1 as the elements to be exported in that partition", thereby extracting all or part of the data of the specified partition (the partition to be exported).

[0313] In step 206, the format conversion module is invoked to convert the data into PDF format.

[0314] In some embodiments, the format conversion module is responsible for accurately and efficiently converting the extracted data into PDF format. During the format conversion process, this module first performs meticulous classification and organization of the extracted data. Based on the type, attributes, and layout of the elements to be exported on the canvas, the module constructs a logically clear data structure to ensure that the converted PDF document accurately reproduces the layout and style of the original canvas.

[0315] In step 207, the data is converted to PDF format.

[0316] In some embodiments, the extracted regions to be exported and the data of the elements to be exported are converted into a format supported by PDF.

[0317] In step 208, it is determined whether graphics processing is required.

[0318] In some embodiments, in response to the absence of graphics processing (i.e., the element to be exported does not contain graphics), the process proceeds to step 210; in response to the presence of graphics processing, the process proceeds to step 209.

[0319] In step 209, the graphics processing model is invoked to optimize the graphics elements.

[0320] In some embodiments, the graphics processing module optimizes the rendering and display of complex graphics to ensure the final exported PDF document achieves optimal visual quality. This module supports multiple graphics formats, including vector graphics and bitmap graphics. For vector graphics, the module utilizes path analysis and geometric transformation algorithms to achieve precise scaling and lossless rendering, maintaining the clarity and detail of the graphics. For bitmap graphics, the module employs intelligent compression and color management technologies to effectively reduce file size while maintaining high image quality and realism. The introduction of the graphics processing module ensures that even complex graphics maintain excellent clarity and realism in the exported PDF document. This is particularly important for professional design and artistic creation fields that require high-quality visual effects.

[0321] In some embodiments, the optimization of graphic elements can be achieved as follows: in response to the element to be exported being a vector graphic, path analysis is performed on the vector graphic to obtain a graphic path (see the description of step 1041 above); a geometric transformation is performed based on the graphic path to obtain a new vector graphic (see the description of step 1042 above); in response to the element to be exported being a bitmap graphic, the bitmap graphic is compressed to obtain a compressed bitmap graphic (see the description of step 1043 above); and color correction is performed on the compressed bitmap graphic to obtain a new bitmap graphic (see the description of step 1044 above).

[0322] In step 210, a PDF document is generated.

[0323] In some embodiments, the format conversion module has a built-in export settings mechanism, allowing users to customize various settings according to their actual needs. See [link to documentation]. Figure 5G , Figure 5G This is a schematic diagram of the seventh interface of the online canvas processing method provided in this application embodiment, which displays in response to a trigger operation on the export settings control. Figure 5G The export settings menu 801 shown allows users to customize export formats (such as PDF, PNG images, etc.), page sizes, margins, watermark styles, etc. Figure 5G The export settings menu 801 shown is for illustrative purposes only and can be adjusted according to specific application scenarios to meet user needs.

[0324] For example, after setting the export parameters, the user can preview the exported PDF document. See [link / reference]. Figure 5H Users can Figure 5H View the effect of the generated PDF document in the export preview interface 005 shown, and adjust the export parameter settings in a timely manner.

[0325] In some embodiments, the format conversion module performs detailed typesetting and rendering of the elements to be exported according to the specifications of PDF. This involves technical processing in multiple aspects, such as font selection, font size setting, color configuration, and image compression.

[0326] For example, a dedicated PDF generation library (such as iText, PDFKit, Apache PDFBox, etc.) is used to create a PDF document. Elements are drawn one by one in the PDF document, ensuring that their position and style are consistent with the canvas. Images from the canvas are embedded into the PDF document, vector graphics are converted to a vector format supported by PDF, fonts are embedded in the PDF to maintain text display, text alignment, line breaks, and other formatting issues are handled, metadata such as document title, author, and creation date are added, and links or bookmarks are added accordingly if there are any in the canvas. The PDF is compressed and optimized to reduce file size, embedded images are compressed to balance quality and file size, the generated PDF content is saved as a file, and a PDF reader is used to verify the generated PDF file to ensure that the content and format are correct.

[0327] In step 211, the instruction filtering module is invoked to verify instruction security.

[0328] In some embodiments, the instruction filtering module ensures the explicitness and security of user instructions, thereby guaranteeing the stability and reliability of the entire data conversion and export process. This module first performs syntactic parsing on the user-input instructions. With the help of an advanced syntax analyzer, the system can accurately identify the structure and intent of the instructions, ensuring that they conform to predetermined syntactic rules. Once a syntactic error or non-compliant instruction is detected, the module immediately prompts the user and guides them to make corrections.

[0329] In step 212, the security of the instruction is verified.

[0330] For example, the instruction filtering module performs a second syntax check on the user-input canvas export instruction (see the explanation in step 203 for syntax check processing) to reconfirm the clarity of the user instruction.

[0331] For example, the instruction filtering module performs syntax analysis on the various settings customized by the user in step 210 according to actual needs to ensure the clarity and security of the user-defined settings (such as whether the customized input parameters exceed the preset maximum value).

[0332] For example, the instruction filtering module checks the user's export permissions to ensure that the user has permission to export the canvas.

[0333] In step 213, it is determined whether the instruction is safe.

[0334] In some embodiments, in response to safe instructions, the process proceeds to step 215; in response to unsafe instructions, the process proceeds to step 214.

[0335] In step 214, the user is prompted to modify the instructions.

[0336] For example, suppose the user sets the "margin" to "30cm" in the various settings customized according to actual needs in step 210. The instruction filtering module detects that the margin set by the user exceeds the preset maximum value of "5cm", and displays "Please reset the margin, which should not exceed 5cm" on the online canvas interface. Here, the prompt for modifying the user's instruction is only an example and can be adjusted according to the specific application scenario.

[0337] In step 215, the export operation is performed.

[0338] In some embodiments, the generated PDF file can be exported, either by saving the PDF document to a server or directly to the user's local device. If the PDF file is saved on a server, a download link is provided to the user, who can click the download link to download the PDF file to their local device.

[0339] In step 216, the export is complete, and the user is notified.

[0340] In some embodiments, in response to the completion of PDF document export, the user is notified that the export was successful and is provided with corresponding instructions for subsequent operations.

[0341] Steps 201 to 216 achieve automated canvas export based on text type, voice type, touch method (e.g., clicking on controls in an online canvas divided into sections by type), or peripheral device (e.g., mouse). This process identifies the export area and elements indicated in the canvas export command, and then exports the elements within that area, generating a file in a specified format. This achieves automated canvas export based on the export command, reducing the need for manual selection and operation, saving users time, and improving work efficiency. Furthermore, by supporting multiple canvas command input methods, it increases the flexibility of user operation and can adapt to the needs of different users. For example, users can quickly complete complex canvas export tasks through simple text or voice commands, reducing the possibility of errors in manually selecting export elements and improving the user experience.

[0342] The text-based canvas export command allows users to issue export instructions via text input. In noisy or quiet environments, such as libraries, meeting rooms, or public places, users can avoid using voice and operate by typing, thus protecting their privacy and avoiding disturbing others. The voice-based canvas export command provides a fast and intuitive operation method. In situations where privacy is not a concern and operational efficiency is more important, such as personal offices or home environments, users can quickly complete canvas export via voice commands, saving time and improving work efficiency. This design considers the needs of different users in different environments, reflecting an emphasis on user privacy protection and operational convenience. Users can choose the most appropriate command type based on the specific situation and needs.

[0343] In summary, the online canvas processing method provided in this application allows users to export only specific partitions. This innovative design significantly reduces unnecessary data processing steps and drastically shortens the export time. Whether exporting frequently or processing large canvases, users can experience a significant improvement in efficiency. Users can flexibly select the partitions to export, set the page layout, and adjust the graphic quality according to their needs. This flexibility allows the export process to better adapt to various complex and changing real-world application scenarios.

[0344] The following description continues to illustrate the exemplary structure of the online canvas processing device 433 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 2 As shown, the software modules stored in the online canvas processing device 433 in the memory 430 may include:

[0345] Display module 4331 is used to display an online canvas, wherein the online canvas includes at least one partition, wherein each partition is used to accommodate elements.

[0346] The export module 4332 is configured to respond to a canvas export command of text or voice type, identify at least one area to be exported indicated by the canvas export command and the element to be exported in each area to be exported, identify the element to be exported in the area to be exported from the online canvas, generate a file in a set format based on the element to be exported, and display the file.

[0347] In some embodiments, the display module 4331 is further configured to, in response to a partition drawing operation in the online canvas, divide each of the geometric shapes into a partition when a closed geometric shape is drawn by the drawing operation, and divide the at least one partition from the online canvas using the line as a dividing line when the drawing operation is a line.

[0348] In some embodiments, the display module 4331 is further configured to display a plurality of candidate templates in response to a trigger operation on a template entry in the online canvas, wherein the types of the candidate templates include local templates and external templates, the local templates being preset in the online canvas program, and the external templates being stored in an electronic device running the online canvas program or in a server of the online canvas program; in response to a selection operation on the plurality of candidate templates, the at least one partition is divided from the online canvas according to the partition layout included in the selected candidate template.

[0349] In some embodiments, the display module 4331 is further configured to, in response to a type partitioning instruction, divide elements of the same type in the online canvas into partitions corresponding to the same type, wherein the partitions corresponding to the same type include multiple non-adjacent parts, the type of the partitions includes logical partitions and physical partitions, the logical partitions include multiple non-adjacent parts, the logical partitions are a complete part, and different partitions have different appearance parameters.

[0350] In some embodiments, the display module 4331 is further configured to, in response to a semantic partitioning instruction, perform semantic understanding on the multiple elements to obtain the semantics of each element when the online canvas includes multiple elements; and divide the elements expressing the same semantics among the multiple elements into the same partition.

[0351] In some embodiments, the display module 4331 is further configured to adjust the at least one partition in response to an adjustment instruction for the at least one partition, wherein the adjustment method includes at least one of the following: performing shape adjustment processing on the at least one partition; performing size adjustment processing on the at least one partition; performing position adjustment processing on the at least one partition; when the number of partitions is multiple, performing partition merging processing on multiple partitions to obtain a new partition; performing partition splitting processing on the at least one partition to obtain multiple new partitions.

[0352] In some embodiments, the display module 4331 is further configured to, in response to a first text adjustment instruction of text type, perform a first semantic understanding process on the first text adjustment instruction to obtain a first partition to be adjusted and a first adjustment method represented by the first text adjustment instruction, and adjust the first partition to be adjusted using the first adjustment method; in response to a voice adjustment instruction of speech type, perform a first voice recognition process on the voice adjustment instruction to obtain a second text adjustment instruction, perform a second semantic understanding process on the second text adjustment instruction to obtain a second partition to be adjusted and a second adjustment method represented by the second text adjustment instruction, and adjust the second partition to be adjusted using the second adjustment method.

[0353] In some embodiments, the display module 4331 is further configured to call a pre-trained entity recognition model to perform entity recognition processing on the first text adjustment instruction, obtain the probability that multiple entities represent the partition respectively, and take the entity corresponding to the highest probability as the first partition to be adjusted; call a pre-trained intent recognition model to perform intent recognition processing on the first text adjustment instruction, obtain the probability that the first text instruction corresponds to multiple adjustment methods, and take the adjustment method corresponding to the highest probability as the first adjustment method.

[0354] In some embodiments, the display module 4331 is further configured to, when the type of the adjustment instruction is a touch instruction or a control instruction implemented based on a peripheral device, identify the partition to be adjusted and the adjustment method indicated by the touch instruction, and adjust the partition to be adjusted by the adjustment method.

[0355] In some embodiments, the export module 4332 is further configured to perform a second semantic understanding process on the canvas export instruction to obtain region description text for at least one region to be exported and element description text for the element to be exported in each of the regions to be exported; perform image recognition processing on the online canvas to obtain the boundary of each partition and the elements within the boundary of each partition; determine the region to be exported from the boundary of each partition based on the region description text of each exported region, and determine the element to be exported from the elements within each region to be exported based on the element description text of the element to be exported in each region to be exported.

[0356] In some embodiments, the export module 4332 is further configured to: convert the online canvas to grayscale to obtain a grayscale canvas; calculate the gradient for each pixel in the grayscale canvas to obtain the gradient value of each pixel; in response to the gradient value of the pixel being greater than a first gradient threshold, designate the pixel as a first boundary point; in response to the gradient value of the pixel being greater than or equal to a second gradient threshold, less than the first gradient threshold, and adjacent to the first boundary point, designate the pixel as a second boundary point, wherein the first gradient threshold is greater than the second gradient threshold; determine the boundary of each partition using the first boundary point and the second boundary point; and perform at least one of the following element recognition processes within the boundary of each partition: perform text recognition processing on the partition to obtain text elements; perform graphic recognition processing on the partition to obtain graphic elements; and perform element template matching processing on the partition to obtain template elements.

[0357] In some embodiments, the export module 4332 is further configured to: perform second speech recognition processing on the canvas export instruction to obtain instruction text when the type of the canvas export instruction is speech type; and perform word segmentation processing on the instruction text to obtain instruction words when the type of the canvas export instruction is text type; perform word segmentation processing on the canvas export instruction to obtain instruction words when the type of the canvas export instruction is text type; perform entity recognition processing on the instruction words to obtain multiple entity words; perform grammatical analysis processing on the instruction words to obtain instruction grammar; and, based on the instruction grammar, determine the region description text of each of the at least one region to be exported and the element description text of the element to be exported in each of the multiple entity words.

[0358] In some embodiments, the export module 4332 is further configured to perform syntax checking on the canvas export command to obtain a language check result; in response to the syntax check result indicating that there is a syntax error, a prompt to re-enter the canvas export command is displayed in the online canvas, and the canvas export command is re-acquired until the language check result of the re-acquired canvas export command indicates that the syntax check has passed.

[0359] In some embodiments, the export module 4332 is further configured to, in response to the language check result of the reacquired canvas export instruction indicating a syntax error, display a prompt for input instructions on the online canvas; and, in response to acquiring the touch-based or peripheral-based canvas export instruction, proceed to execute the process of identifying at least one area to be exported and the elements to be exported in each of the areas indicated by the canvas export instruction, wherein the touch-based or peripheral-based canvas export instruction carries at least one area to be exported and the elements to be exported in each of the areas.

[0360] In some embodiments, the export module 4332 is further configured to construct export data based on the type, attributes, position, and size of the element to be exported in the online canvas; and to perform format conversion processing based on the export data setting parameters and the export data to obtain a file in the set format.

[0361] In some embodiments, the export module 4332 is further configured to, in response to the element to be exported being a vector graphic, perform path analysis on the vector graphic to obtain a graphic path; perform geometric transformation based on the graphic path to obtain a new vector graphic; in response to the element to be exported being a bitmap graphic, perform compression processing on the bitmap graphic to obtain a compressed bitmap graphic; and perform color correction processing on the compressed bitmap graphic to obtain a new bitmap graphic.

[0362] In some embodiments, the display module 4331 is further configured to: 1) set the rendering mode of the elements within the online canvas to a first mode in response to the scaling ratio of the online canvas being greater than a first scaling ratio threshold and less than or equal to a second scaling ratio threshold, wherein the first scaling ratio threshold is less than the second scaling ratio threshold, and the first mode is a rendering mode based on the original data of the elements; 2) set the rendering mode of the elements within the online canvas to a second mode in response to the scaling ratio of the online canvas being less than a third scaling ratio threshold, wherein the third scaling ratio threshold is less than the first scaling ratio threshold, and the second mode is a rendering mode based on the thumbnails of the elements; and 3) render the online canvas based on the rendering mode.

[0363] In some embodiments, the export module 4332 is further configured to, in response to a filtering instruction of voice type or text type, identify, from the elements to be exported in the export area, the elements that meet the filtering conditions indicated by the filtering instruction, wherein the filtering conditions include at least one of the following filtering factors: the object of the element being edited, the type of the element, the size of the element, and the position of the element; and generate a file in a set format based on the elements to be exported that meet the filtering conditions.

[0364] In some embodiments, the display module 4331 is further configured to perform at least one of the following processes: controlling the partition to adaptively scale according to the number of elements included in the partition, wherein the idle ratio of the scaled partition is less than an idle ratio threshold; controlling the partition to adaptively scale according to the number of objects co-editing the partition, wherein the size of the scaled partition is positively correlated with the number of objects.

[0365] In some embodiments, the partition is provided with a public attribute or a private attribute. The public attribute indicates that the element in the partition is public to any object that collaboratively edits the partition, and the private attribute indicates that the element in the partition is public only to the object that edits to form the element. The export module 4332 is further configured to identify elements in the area to be exported that have a visibility attribute from the online canvas, as well as the element to be exported that is edited by the publishing object, wherein the publishing object is the object that issues the canvas export instruction.

[0366] In some embodiments, when the partition is in collaborative editing mode, the synchronization methods among multiple objects collaboratively editing the partition include real-time synchronization, triggered synchronization, and periodic synchronization. The export module 4332 is further configured to, when the partition to be exported is in the real-time synchronization mode, identify from the online canvas the elements to be exported that have been edited by the multiple objects in the area to be exported up to the current time; when the synchronization mode of the partition to be exported is in the triggered synchronization mode, identify from the online canvas the elements to be exported that have been edited by the multiple objects in the area to be exported up to the trigger time, wherein the trigger time is the time when the editing operation of the multiple objects in the partition is triggered; and when the partition to be exported is in the periodic synchronization mode, identify from the online canvas the elements to be exported that have been edited by the multiple objects in the area to be exported up to the current period.

[0367] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the online canvas processing method described above in this application.

[0368] This application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the online canvas processing method provided in this application. For example, ... Figure 3A The method for processing online canvases is shown.

[0369] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0370] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.

[0371] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).

[0372] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.

[0373] In summary, through the embodiments of this application, the export area and elements indicated in the canvas export command are identified based on the text or voice type of the command, thereby exporting the elements in the export area and generating a file in a set format. This achieves automated canvas export based on the canvas export command, which is more intelligent and improves processing efficiency compared to manual selection and operation. At the same time, by supporting both text and voice canvas command input methods, the flexibility of user operation is increased, which can adapt to the needs of users in different usage scenarios. Users can quickly complete complex canvas export tasks through simple text or voice commands, reducing the possibility of errors in manually selecting export elements and improving the user experience.

[0374] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A method for processing an online canvas, characterized in that, The method includes: Displaying an online canvas, wherein the online canvas includes at least one partition, wherein each partition is used to contain elements; In response to a text- or voice-type canvas export command, at least one region to be exported as indicated by the canvas export command and the elements to be exported within each region to be exported are identified. Identify the element to be exported from the area to be exported within the online canvas. Generate a file in the specified format based on the elements to be exported, and display the file.

2. The method according to claim 1, characterized in that, The at least one partition is created in the following manner: In response to a partitioned drawing operation in the online canvas, When a closed geometric shape is drawn using the drawing operation, each geometric shape is treated as a partition. When the drawing operation is a line, the at least one partition is divided from the online canvas using the line as a dividing line.

3. The method according to claim 1, characterized in that, The at least one partition is created in the following manner: In response to a trigger operation on a template entry in the online canvas, multiple candidate templates are displayed. The types of candidate templates include local templates and external templates. The local templates are preset in the online canvas program, and the external templates are stored in the electronic device running the online canvas program or in the server of the online canvas program. In response to the selection operation for the plurality of candidate templates, the at least one partition is divided from the online canvas according to the partition layout included in the selected candidate template.

4. The method according to claim 1, characterized in that, The at least one partition is created in the following manner: In response to a type partitioning instruction, elements of the same type in the online canvas are divided into partitions corresponding to the same type. Each partition of the same type includes multiple non-adjacent parts. The types of the partitions include logical partitions and physical partitions. Each logical partition includes multiple non-adjacent parts and is a complete part. Different partitions have different appearance parameters.

5. The method according to claim 1, characterized in that, The at least one partition is created in the following manner: When the online canvas includes multiple elements, in response to a semantic partitioning instruction, semantic understanding is performed on the multiple elements to obtain the semantics of each element; Elements that express the same semantics among the multiple elements are grouped into the same partition.

6. The method according to any one of claims 1 to 5, characterized in that, When displaying the online canvas, the method further includes: In response to an adjustment instruction for the at least one partition, the at least one partition is adjusted, wherein the adjustment method includes at least one of the following: The shape of at least one partition is adjusted. The size of the at least one partition is adjusted. The position of the at least one partition is adjusted. When there are multiple partitions, the partitions are merged to obtain a new partition. The at least one partition is split to obtain multiple new partitions.

7. The method according to claim 6, characterized in that, The adjustment of the at least one partition includes: In response to a first text adjustment instruction of text type, the first text adjustment instruction is subjected to first semantic understanding processing to obtain a first partition to be adjusted and a first adjustment method represented by the first text adjustment instruction, and the first partition to be adjusted is adjusted by the first adjustment method. In response to the adjustment instruction being a voice adjustment instruction of the speech type, the speech adjustment instruction is subjected to a first speech recognition process to obtain a second text adjustment instruction, the second text adjustment instruction is subjected to a second semantic understanding process to obtain a second partition to be adjusted and a second adjustment method represented by the second text adjustment instruction, and the second partition to be adjusted is adjusted using the second adjustment method.

8. The method according to claim 7, characterized in that, The first semantic understanding processing of the first text adjustment instruction to obtain the first partition to be adjusted and the first adjustment method represented by the first text adjustment instruction includes: The pre-trained entity recognition model is invoked to perform entity recognition processing on the first text adjustment instruction, and multiple entities are obtained to represent the probability of the partition respectively. The entity corresponding to the highest probability is taken as the first partition to be adjusted. The pre-trained intent recognition model is invoked to perform intent recognition processing on the first text adjustment instruction, and the probabilities of multiple adjustment methods corresponding to the first text instruction are obtained. The adjustment method corresponding to the highest probability is taken as the first adjustment method.

9. The method according to claim 6, characterized in that, The adjustment of the at least one partition includes: When the type of adjustment instruction is a touch instruction or a control instruction implemented based on a peripheral device, the partition to be adjusted and the adjustment method indicated by the touch instruction are identified, and the partition to be adjusted is adjusted according to the adjustment method.

10. The method according to any one of claims 1 to 5, characterized in that, The process of identifying at least one region to be exported as indicated by the canvas export command and the elements to be exported in each region to be exported includes: The canvas export command is subjected to a second semantic understanding process to obtain at least one region description text for each region to be exported and an element description text for each element to be exported in each region to be exported. The online canvas is subjected to image recognition processing to obtain the boundary of each partition and the elements within the boundary of each partition; The region to be exported is determined from the boundary of each partition based on the region description text of each region to be exported, and the element to be exported is determined from the element in each region to be exported based on the element description text of the element to be exported in each region to be exported.

11. The method according to claim 10, characterized in that, The step of performing image recognition processing on the online canvas to obtain the boundary of each partition and the elements within the boundary of each partition includes: The online canvas is converted to grayscale to obtain a grayscale canvas; Gradient calculation is performed on each pixel in the grayscale canvas to obtain the gradient value of each pixel; In response to the gradient value of the pixel being greater than a first gradient threshold, the pixel is designated as the first boundary point; In response to the pixel's gradient value being greater than or equal to a second gradient threshold, less than a first gradient threshold, and adjacent to a position between the pixel and the first boundary point, the pixel is designated as the second boundary point, wherein the first gradient threshold is greater than the second gradient threshold. The boundaries of each partition are determined by the first boundary point and the second boundary point; Perform at least one of the following element identification processes within the boundaries of each partition: The partition is subjected to text recognition processing to obtain text elements; The partition is subjected to graphic recognition processing to obtain graphic elements; The partition is subjected to element template matching to obtain template elements.

12. The method according to claim 10, characterized in that it contains miscellaneous fish. The second semantic understanding processing of the canvas export command to obtain region description text for at least one region to be exported and element description text for each element to be exported in each region to be exported includes: If the type of the canvas export command is speech, the canvas export command is subjected to second speech recognition processing to obtain command text, and the command text is subjected to word segmentation processing to obtain command words; If the canvas export command is of text type, the canvas export command is segmented to obtain command words; The instruction word is subjected to entity recognition processing to obtain multiple entity words; The instruction words are subjected to syntactic analysis to obtain the instruction syntax; Based on the instruction syntax, the region description text of each of the at least one region to be exported and the element description text of each element to be exported in each of the plurality of entity words are determined.

13. The method according to any one of claims 1 to 5, characterized in that, Before identifying at least one region to be exported as indicated by the canvas export command and the elements to be exported within each region to be exported, the method further includes: The canvas export command is subjected to syntax checking to obtain the language check result; In response to the syntax check result indicating a syntax error, a prompt to re-enter the canvas export command is displayed in the online canvas, and the canvas export command is retrieved again until the language check result of the retrieved canvas export command indicates that the syntax check has passed.

14. The method according to claim 13, characterized in that, The method further includes: If the language check result of the re-acquired canvas export command indicates a syntax error, a prompt for inputting the command is displayed on the online canvas. In response to receiving a canvas export command in the form of a touch or a peripheral device, the process proceeds to identify at least one area to be exported and an element to be exported in each of the areas indicated by the canvas export command, wherein the touch or peripheral device-based canvas export command carries at least one area to be exported and an element to be exported in each of the areas.

15. The method according to any one of claims 1 to 5, characterized in that, The process of generating a file in a specified format based on the elements to be exported includes: The export data is constructed based on the type, attributes, position, and size of the element to be exported in the online canvas; Based on the exported data setting parameters and the exported data, a format conversion process is performed to obtain a file in the set format.

16. The method according to claim 15, characterized in that, The step of setting parameters based on the exported data and performing format conversion processing on the exported data includes: In response to the fact that the element to be exported is a vector graphic, path analysis is performed on the vector graphic to obtain the graphic path; Geometric transformations are performed based on the graphic path to obtain new vector graphics; In response to the fact that the element to be exported is a bitmap graphic, the bitmap graphic is compressed to obtain a compressed bitmap graphic; The compressed bitmap graphic is subjected to color correction processing to obtain a new bitmap graphic.

17. An online canvas processing device, characterized in that, The device includes: A display module is used to display an online canvas, wherein the online canvas includes at least one partition, and each partition is used to accommodate elements; The export module is used to respond to a canvas export command of text or voice type, identify at least one area to be exported indicated by the canvas export command and the elements to be exported in each area to be exported, identify the elements to be exported in the areas to be exported from the online canvas, generate a file in a set format based on the elements to be exported, and display the file.

18. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the online canvas processing method according to any one of claims 1 to 16.

19. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, the online canvas processing method according to any one of claims 1 to 16 is implemented.

20. A computer program product comprising computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, the online canvas processing method according to any one of claims 1 to 16 is implemented.