diff --git a/doc/table/pipeline.jpg b/doc/table/pipeline.jpg
new file mode 100644
index 000000000..238b666ce
Binary files /dev/null and b/doc/table/pipeline.jpg differ
diff --git a/doc/table/pipeline.png b/doc/table/pipeline.png
deleted file mode 100644
index 4acfb3e2e..000000000
Binary files a/doc/table/pipeline.png and /dev/null differ
diff --git a/test1/MANIFEST.in b/ppstructure/MANIFEST.in
similarity index 86%
rename from test1/MANIFEST.in
rename to ppstructure/MANIFEST.in
index 203e97d31..2961e722b 100644
--- a/test1/MANIFEST.in
+++ b/ppstructure/MANIFEST.in
@@ -5,5 +5,5 @@ recursive-include ppocr/utils *.txt utility.py logging.py network.py
 recursive-include ppocr/data/ *.py
 recursive-include ppocr/postprocess *.py
 recursive-include tools/infer *.py
-recursive-include test1 *.py
+recursive-include ppstructure *.py
 
diff --git a/test1/api.md b/ppstructure/README.md
similarity index 98%
rename from test1/api.md
rename to ppstructure/README.md
index 6ce2e5904..c0c5d76d2 100644
--- a/test1/api.md
+++ b/ppstructure/README.md
@@ -10,7 +10,7 @@ pip3 install layoutparser-0.0.0-py3-none-any.whl
 
 PaddleStructure is a toolkit for complex layout text OCR, the process is as follows
 
-![pipeline](../doc/table/pipeline.png)
+![pipeline](../doc/table/pipeline.jpg)
 
 In PaddleStructure, the image will be analyzed by layoutparser first. In the layout analysis, the area in the image will be classified, and the OCR process will be carried out according to the category.
 
diff --git a/test1/api_ch.md b/ppstructure/README_ch.md
similarity index 100%
rename from test1/api_ch.md
rename to ppstructure/README_ch.md
diff --git a/test1/__init__.py b/ppstructure/__init__.py
similarity index 100%
rename from test1/__init__.py
rename to ppstructure/__init__.py
diff --git a/test1/layout/README.md b/ppstructure/layout/README.md
similarity index 100%
rename from test1/layout/README.md
rename to ppstructure/layout/README.md
diff --git a/test1/layout/train_layoutparser_model.md b/ppstructure/layout/train_layoutparser_model.md
similarity index 100%
rename from test1/layout/train_layoutparser_model.md
rename to ppstructure/layout/train_layoutparser_model.md
diff --git a/test1/paddlestructure.py b/ppstructure/paddlestructure.py
similarity index 96%
rename from test1/paddlestructure.py
rename to ppstructure/paddlestructure.py
index bbe69d404..d810f2304 100644
--- a/test1/paddlestructure.py
+++ b/ppstructure/paddlestructure.py
@@ -24,9 +24,9 @@ import numpy as np
 from pathlib import Path
 
 from ppocr.utils.logging import get_logger
-from test1.predict_system import OCRSystem, save_res
-from test1.table.predict_table import to_excel
-from test1.utility import init_args, draw_result
+from ppstructure.predict_system import OCRSystem, save_res
+from ppstructure.table.predict_table import to_excel
+from ppstructure.utility import init_args, draw_result
 
 logger = get_logger()
 from ppocr.utils.utility import check_and_read_gif, get_image_file_list
@@ -145,4 +145,4 @@ def main():
         for item in result:
             logger.info(item['res'])
         save_res(result, save_folder, img_name)
-        logger.info('result save to {}'.format(os.path.join(save_folder, img_name)))
+        logger.info('result save to {}'.format(os.path.join(save_folder, img_name)))
\ No newline at end of file
diff --git a/test1/predict_system.py b/ppstructure/predict_system.py
similarity index 97%
rename from test1/predict_system.py
rename to ppstructure/predict_system.py
index 9e99a48cd..009c20521 100644
--- a/test1/predict_system.py
+++ b/ppstructure/predict_system.py
@@ -31,8 +31,8 @@ import layoutparser as lp
 from ppocr.utils.utility import get_image_file_list, check_and_read_gif
 from ppocr.utils.logging import get_logger
 from tools.infer.predict_system import TextSystem
-from test1.table.predict_table import TableSystem, to_excel
-from test1.utility import parse_args, draw_result
+from ppstructure.table.predict_table import TableSystem, to_excel
+from ppstructure.utility import parse_args, draw_result
 
 logger = get_logger()
 
diff --git a/test1/setup.py b/ppstructure/setup.py
similarity index 90%
rename from test1/setup.py
rename to ppstructure/setup.py
index 1d0751779..c99d71fe3 100644
--- a/test1/setup.py
+++ b/ppstructure/setup.py
@@ -23,14 +23,14 @@ with open('../requirements.txt', encoding="utf-8-sig") as f:
 
 
 def readme():
-    with open('api_ch.md', encoding="utf-8-sig") as f:
+    with open('README_ch.md', encoding="utf-8-sig") as f:
         README = f.read()
     return README
 
 
-shutil.copytree('./table', './test1/table')
-shutil.copyfile('./predict_system.py', './test1/predict_system.py')
-shutil.copyfile('./utility.py', './test1/utility.py')
+shutil.copytree('./table', './ppstructure/table')
+shutil.copyfile('./predict_system.py', './ppstructure/predict_system.py')
+shutil.copyfile('./utility.py', './ppstructure/utility.py')
 shutil.copytree('../ppocr', './ppocr')
 shutil.copytree('../tools', './tools')
 shutil.copyfile('../LICENSE', './LICENSE')
@@ -66,5 +66,5 @@ setup(
 
 shutil.rmtree('ppocr')
 shutil.rmtree('tools')
-shutil.rmtree('test1')
+shutil.rmtree('ppstructure')
 os.remove('LICENSE')
diff --git a/test1/table/README.md b/ppstructure/table/README.md
similarity index 100%
rename from test1/table/README.md
rename to ppstructure/table/README.md
diff --git a/test1/table/README_ch.md b/ppstructure/table/README_ch.md
similarity index 100%
rename from test1/table/README_ch.md
rename to ppstructure/table/README_ch.md
diff --git a/test1/table/__init__.py b/ppstructure/table/__init__.py
similarity index 100%
rename from test1/table/__init__.py
rename to ppstructure/table/__init__.py
diff --git a/test1/table/eval_table.py b/ppstructure/table/eval_table.py
similarity index 93%
rename from test1/table/eval_table.py
rename to ppstructure/table/eval_table.py
index dc63e34e2..15f549376 100755
--- a/test1/table/eval_table.py
+++ b/ppstructure/table/eval_table.py
@@ -20,9 +20,9 @@ sys.path.append(os.path.abspath(os.path.join(__dir__, '../..')))
 import cv2
 import json
 from tqdm import tqdm
-from test1.table.table_metric import TEDS
-from test1.table.predict_table import TableSystem
-from test1.utility import init_args
+from ppstructure.table.table_metric import TEDS
+from ppstructure.table.predict_table import TableSystem
+from ppstructure.utility import init_args
 from ppocr.utils.logging import get_logger
 
 logger = get_logger()
diff --git a/test1/table/matcher.py b/ppstructure/table/matcher.py
similarity index 100%
rename from test1/table/matcher.py
rename to ppstructure/table/matcher.py
diff --git a/test1/table/predict_structure.py b/ppstructure/table/predict_structure.py
similarity index 98%
rename from test1/table/predict_structure.py
rename to ppstructure/table/predict_structure.py
index 1070c93ea..fc85327b3 100755
--- a/test1/table/predict_structure.py
+++ b/ppstructure/table/predict_structure.py
@@ -22,17 +22,14 @@ os.environ["FLAGS_allocator_strategy"] = 'auto_growth'
 
 import cv2
 import numpy as np
-import math
 import time
-import traceback
-import paddle
 
 import tools.infer.utility as utility
 from ppocr.data import create_operators, transform
 from ppocr.postprocess import build_post_process
 from ppocr.utils.logging import get_logger
 from ppocr.utils.utility import get_image_file_list, check_and_read_gif
-from test1.utility import parse_args
+from ppstructure.utility import parse_args
 
 logger = get_logger()
 
diff --git a/test1/table/predict_table.py b/ppstructure/table/predict_table.py
similarity index 98%
rename from test1/table/predict_table.py
rename to ppstructure/table/predict_table.py
index b06a4f4d5..352ae84de 100644
--- a/test1/table/predict_table.py
+++ b/ppstructure/table/predict_table.py
@@ -30,9 +30,9 @@ import tools.infer.predict_rec as predict_rec
 import tools.infer.predict_det as predict_det
 from ppocr.utils.utility import get_image_file_list, check_and_read_gif
 from ppocr.utils.logging import get_logger
-from test1.table.matcher import distance, compute_iou
-from test1.utility import parse_args
-import test1.table.predict_structure as predict_strture
+from ppstructure.table.matcher import distance, compute_iou
+from ppstructure.utility import parse_args
+import ppstructure.table.predict_structure as predict_strture
 
 logger = get_logger()
 
diff --git a/test1/table/table_metric/__init__.py b/ppstructure/table/table_metric/__init__.py
similarity index 100%
rename from test1/table/table_metric/__init__.py
rename to ppstructure/table/table_metric/__init__.py
diff --git a/test1/table/table_metric/parallel.py b/ppstructure/table/table_metric/parallel.py
similarity index 100%
rename from test1/table/table_metric/parallel.py
rename to ppstructure/table/table_metric/parallel.py
diff --git a/test1/table/table_metric/table_metric.py b/ppstructure/table/table_metric/table_metric.py
similarity index 100%
rename from test1/table/table_metric/table_metric.py
rename to ppstructure/table/table_metric/table_metric.py
diff --git a/test1/table/tablepyxl/__init__.py b/ppstructure/table/tablepyxl/__init__.py
similarity index 100%
rename from test1/table/tablepyxl/__init__.py
rename to ppstructure/table/tablepyxl/__init__.py
diff --git a/test1/table/tablepyxl/style.py b/ppstructure/table/tablepyxl/style.py
similarity index 100%
rename from test1/table/tablepyxl/style.py
rename to ppstructure/table/tablepyxl/style.py
diff --git a/test1/table/tablepyxl/tablepyxl.py b/ppstructure/table/tablepyxl/tablepyxl.py
similarity index 100%
rename from test1/table/tablepyxl/tablepyxl.py
rename to ppstructure/table/tablepyxl/tablepyxl.py
diff --git a/test1/utility.py b/ppstructure/utility.py
similarity index 100%
rename from test1/utility.py
rename to ppstructure/utility.py